我是视觉基础的新手,并且想知道是否有可能根据表格中的动作触发课堂中的事件。
以下是我的问题: 我有一个名为Main的表单,有一个名为picPID的图片框 还有一个名为add_new
的类我想做的是: 单击鼠标右键时,事件处理的代码将放在名为add_new
的类中我以为我可以用以下方式声明它:
Sub meMouseDown(sender As Object,e As MouseEventArgs)处理Main.picPID.MouseDown
但是我得到一个错误,说我必须用事件声明它,我试图将图片框声明为:
Public withEvents as picturebox
但它有助于任何消化吗?使用Main表单中的代码不是问题,但它会产生大量代码,所以我希望将其拆分。
答案 0 :(得分:2)
所以你有一个带有eventhandler的类:
Public Class add_new
Public Sub PictureBoxEventHandler(sender As Object, e As MouseEventArgs)
'Your Implementation
End Sub
End Class
然后,您需要在包含图片框的表单中包含此类的实例:
Public Class Form1
Private add_New_Command As New add_new ' hold a reference to the command
'constructor
Public Sub New()
InitializeComponent()
' and add the handler to the event of the picture box ... hook it up
AddHandler PictureBox1.MouseDown, AddressOf add_New_Command.PictureBoxEventHandler
End Sub
End Class