189 8069 5689

包含vb.net动态绑定事件的词条

vb.net 动态生成的控件,事件也动态加,怎么做呢?

你需要的应该是反射,类似如下,我测试通过的:

白水网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

Imports System.Reflection

Public Class Form1

Public Sub MMMToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MMMToolStripMenuItem.Click

MsgBox("menu click")

End Sub

'在按钮事件处理里面通过反射名称调用相应菜单事件

Public Sub CallEventMethod(sender As Object, e As EventArgs)

Dim b As Button = sender '获取点击的按钮

'拼接菜单事件名称

Dim MethodName As String = b.Name  "ToolStripMenuItem_Click"

Dim t As Type = Me.GetType

Dim m As MethodInfo = t.GetMethod(MethodName)

'反射方法

m.Invoke(Me, New Object() {Nothing, Nothing})

End Sub

'动态生成了按钮

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

Dim btn As New Button

btn.Location = New Point(100, 100)

btn.Name = "MMM" '关键

btn.Text = "MMM"

'注册事件

AddHandler btn.Click, AddressOf Me.CallEventMethod

Me.Controls.Add(btn) 

End Sub

End Class

vb.net动态添加控件,并且绑定了一些事件,这些事件只能对最新生成的控件做修改,之前生成的无法修改

比如说这样添加的计时器:

Dim Timer1 As New Timer

你要在合适的地方开始,比如窗体Load事件中,这样:

Timer1.Interval = 1000 '单位毫秒,1000毫秒=1秒

Timer1.Enabled = True '启用计时器

然后在代码窗口上方下拉列表里选择Timer1的Tick事件,自动添加代码:

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

End Sub

这是计时器触发的事件,每秒触发一次,在这里面输入循环判断是否有日程即可。提示:你可以用Now对象获取当前的日期和时间。

如何在 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 gridview动态绑定的问题

应为网页的问题,Datatable的数据不会被存储下来,所以需要在排序和分页后重新绑定数据源。

分页事件

GridViewBrowser.PageIndexChanging

设定新页码PageIndex

GridViewBrowser.PageIndex = e.NewPageIndex

添加数据源绑定代码

Dim mydap As New SqlDataAdapter(sql, conn)

Dim ds As New DataSet()

mydap.Fill(ds)

GridView1.DataSource = ds

GridView1.DataBind()

排序逻辑等同....


标题名称:包含vb.net动态绑定事件的词条
文章路径:http://cdxtjz.cn/article/doeigsj.html

其他资讯