访问每个按钮';在vb.net中动态生成属性后,是否为?
我使用以下代码动态生成按钮。我想知道如何以这样的方式编码,如果我单击一个按钮,应该会对相同形式的其他按钮进行一些更改。由于所有按钮都是在循环中生成的,我不知道如何在代码的其他地方调用一个按钮访问每个按钮';在vb.net中动态生成属性后,是否为?,vb.net,dynamic,minesweeper,Vb.net,Dynamic,Minesweeper,我使用以下代码动态生成按钮。我想知道如何以这样的方式编码,如果我单击一个按钮,应该会对相同形式的其他按钮进行一些更改。由于所有按钮都是在循环中生成的,我不知道如何在代码的其他地方调用一个按钮 Private Sub random2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Integer For i = 1 To
Private Sub random2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
For i = 1 To 16
Dim btn As New Button
AddHandler btn.Click, AddressOf ClickMe
btn.Width = 23
btn.Height = 23
btn.Text = ""
btn.Tag = i
btn.Name = i
btn.Name = "Button" & i
flp.Controls.Add(btn) 'flp stand for flow layout panel
Next
End Sub
Private Sub ClickMe(ByVal Sender As Object, ByVal e As EventArgs)
Dim btn As Button
btn = CType(Sender, Button)
dim str as string = btn.tag
MsgBox(str)
End Sub
End Class
您已将所有动态创建的按钮添加到FlowLayoutPanel控件集合。
您将在那里发现它们的语法如下
Dim btn As Button = TryCast(flp.Controls("name"), Button)
if btn IsNot Nothing then
btn.Caption = "New Text"
....
End If
或者如果你想要一个按钮在一个特定的索引
Dim btn As Button = TryCast(flp.Controls(index), Button)
你戴了一半的帽子。VB.Net使用括号,而不是括号:flp.Controls(“name”)
。