帮助捕获OvalShape的鼠标。
我有一个带有picturebox (myPictureBox)的表单。
当您单击myPictureBox上的任何位置时,myPictureBox.click会触发- OvalShape1。
当您第二次单击时,myPictureBox.click会触发并在此时绘制OvalShape2。
如果您单击...except的内部或边框,则为OvalShape1。然后选择OvalShape1,不引发myPictureBox.click。
如何捕获OvalShape1.单击事件?
MSDN代码没有帮助:https://msdn.microsoft.com/en-us/library/microsoft.visualbasic.powerpacks.shape.click.aspx
B/C我得到A:
Error BC30506 Handles子句需要在包含类型或其基类型之一中定义的WithEvents变量。
我很难弄清楚如何向OvalShape1添加一个处理程序
完整代码:
Public Class Form1
Public canvas As New Microsoft.VisualBasic.PowerPacks.ShapeContainer
Public OvalShape1, OvalShape2, OvalShape3 As New Microsoft.VisualBasic.PowerPacks.OvalShape
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
canvas.Parent = myPictureBox
OvalShape1.Parent = canvas
OvalShape2.Parent = canvas
OvalShape3.Parent = canvas
End Sub
Private Sub myPictureBox_Click(sender As Object, e As EventArgs) Handles myPictureBox.Click
..additional code to start drawing ovalshapes which works fine
End Sub
Private Sub OvalShape1_Click() Handles OvalShape1.Click
msgbox("you have cicked the OvalShape1")
End Sub
End Class发布于 2016-09-11 22:39:07
你所犯的错误告诉你到底是怎么回事。每当您使用clause时,您要订阅的事件的变量必须声明为WithEvents。
将其添加到您的OvalShape#声明中,您应该可以这样做:
Public WithEvents OvalShape1, OvalShape2, OvalShape3 As New Microsoft.VisualBasic.PowerPacks.OvalShape另外,还应该在事件处理程序方法中包括事件的参数:
Private Sub OvalShape1_Click(sender As Object, e As EventArgs) Handles OvalShape1.Clickhttps://stackoverflow.com/questions/39439909
复制相似问题