-2

我在 VB 中使用 colordialog,但有些东西我想不通。我的想法是,当我单击一个按钮时,colordialog 会打开。然后我会选择一种颜色,单击确定,然后我可以在带有颜色的图片框上绘制。

我的代码是:

    Private Sub PictureBox1_MouseMove1(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseMove
Dim mydialog As New ColorDialog
     If (MyDialog.ShowDialog() = Windows.Forms.DialogResult.OK) Then
        If down = True Then
            PictureBox1.CreateGraphics.FillEllipse = mydialog
        End If
    End If
End Sub

但我无法让它工作。有人可以帮帮我吗?谢谢!

4

1 回答 1

0

不知道这里是什么,但你需要阅读选择的颜色,用该颜色构建一个画笔,一个所需大小的矩形,最后在图片框区域调用 FillEllipse(不要忘记处理画笔)

if down = True Then
    If (MyDialog.ShowDialog() = Windows.Forms.DialogResult.OK) Then
         Dim aBrush = new SolidBrush(mydialog.Color)
         Dim rect = new Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height)
         PictureBox1.CreateGraphics.FillEllipse (aBrush, rect)
         aBrush.Dispose()
     End If
End If

正如 Joel Coehoorn 在其上面的评论中指出的那样,这种操作绝不应该考虑这种 MouseMove 事件。您想在 MouseMove 事件中使用此代码做什么?

于 2013-11-11T22:16:36.717 回答