【发布时间】:2012-05-11 09:38:15
【问题描述】:
使用 VB 2008 Express。
当按钮是表单上的静态按钮时,将代码附加到按钮上很容易;只需双击表单设计器上的按钮并将代码添加到事件中。
我有一系列在控件数组中生成的按钮,因此它们是在一个类中生成的,并且在运行时之前没有按钮。
所以新手问题的答案可能很简单...如何为在运行时实例化为类之前不存在的按钮的单击事件输入代码?
【问题讨论】:
标签: vb.net
使用 VB 2008 Express。
当按钮是表单上的静态按钮时,将代码附加到按钮上很容易;只需双击表单设计器上的按钮并将代码添加到事件中。
我有一系列在控件数组中生成的按钮,因此它们是在一个类中生成的,并且在运行时之前没有按钮。
所以新手问题的答案可能很简单...如何为在运行时实例化为类之前不存在的按钮的单击事件输入代码?
【问题讨论】:
标签: vb.net
我想你会用普通按钮做的方式。
您想对每个按钮执行什么操作?如果每个按钮的操作不同,您能否举例说明它的外观?
编辑:前面的粗代码
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim button As Button()
ReDim button(2)
Dim button1 As New Button
button1.Top = 0
button1.Height = 100
button1.Text = "hello"
Dim button2 As New Button
button2.Top = 200
button2.Height = 100
button2.Text = "world"
button(0) = button1
button(1) = button2
For i As Integer = 0 To 1
'** This is where all the buttons are tied, to a common handler
AddHandler button(i).Click, AddressOf doSomething
Next
Me.Controls.AddRange(button)
End Sub
Protected Sub doSomething(ByVal sender As Object, ByVal e As EventArgs)
Dim thisButton As Button
thisButton = sender
thisButton.BackColor = Color.DarkBlue
thisButton.Text = "clicked"
End Sub
【讨论】:
doSomething 与所有按钮的单击事件相关联。阅读 .net 中的事件/代表。你会在 net/stackoverflow 上找到很多很好的例子。