VB.net 如何使用颜色对话框



我在VB中使用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

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

不确定这里是什么,但你需要阅读选择的颜色,用该颜色构建一个画笔,一个所需大小的矩形,最后在图片框区域调用 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 事件中使用此代码做什么?

最新更新