我在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 事件中使用此代码做什么?