包含vb.net增加事件的词条

vb.net给控件加事件

两种方法:

创新互联专注于禄劝网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供禄劝营销型网站建设,禄劝网站制作、禄劝网页设计、禄劝网站官网定制、小程序设计服务,打造禄劝网络公司原创品牌,更为您提供禄劝网站排名全网营销落地服务。

1. 用WithEvents声明变量,这样你就可以像对待拖上去的控件一样操作:

Public Class Form3

WithEvents btn As New Button

Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load

Controls.Add(btn)

End Sub

Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click

MsgBox(Now)

End Sub

End Class

2. 使用AddHandler 语句:

Public Class Form3

Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load

Dim btn As New Button

AddHandler btn.Click, AddressOf btn_Click

Controls.Add(btn)

End Sub

Private Sub btn_Click(sender As Object, e As EventArgs)

MsgBox(Now)

End Sub

End Class

WithEvents (Visual Basic):

AddHandler 语句:

vb.net动态菜单,如何添加事件?

动态生成的控件:

Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Dim myPicture = New System.Windows.Forms.PictureBox()

Me.Panel3.Controls.Add(myPicture)

myPicture.Size = New System.Drawing.Size(115, 160)

myPicture.TabStop = False

myPicture.Name = "p" 

myPicture.Cursor = Cursors.Hand

AddHandler myPicture.Click, AddressOf mypic_Click '添加事件

End Sub

处理事件的过程:

Private Sub mypic_Click() 'ByVal id As String

Dim bookInfo As New BookInfo

bookInfo.Show()

Me.Parent.Enabled = False

如何在 vb.net 为动态生成的控件添加事件并传递数据

'把图片的声明放在外面,类里面过程外面,而且要用As,不然等会儿没法用

Dim myPicture As New System.Windows.Forms.PictureBox()

'动态生成的控件,加一行

Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Me.Panel3.Controls.Add(myPicture)

myPicture.Size =New System.Drawing.Size(115, 160)

myPicture.TabStop =False

myPicture.Name ="p"

myPicture.Cursor = Cursors.Hand

AddHandler myPicture.Click, AddressOf mypic_Click '添加事件

AddHandler returnid, AddressOf idReturned '绑定事件和过程

End Sub

'再来个事件,放在声明的地方,就是类里面、过程外面

Private Event returnid(ByVal id As String) '这个事件可以传递值哦~

'普通的单击事件

Private Sub mypic_Click()

RaiseEvent returnid(myPicture.Name)

End Sub

'会传值的事件过程

Private Sub idReturned(ByVal id As String)

Dim bookInfo As New BookInfo

bookInfo.Show()

Me.Parent.Enabled = False

'用id变量做点什么吧

End Sub

如果要改事件的签名(参数一类的)的话,得重写控件。你可以这样自己弄一个事件。


分享文章:包含vb.net增加事件的词条
文章网址:http://ybzwz.com/article/dohpgsg.html