Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何为窗体上的每个按钮运行同一个子按钮?_Vb.net - Fatal编程技术网

Vb.net 如何为窗体上的每个按钮运行同一个子按钮?

Vb.net 如何为窗体上的每个按钮运行同一个子按钮?,vb.net,Vb.net,我在一个表单(9x9网格)上有81个按钮,每个按钮都被命名为“X_Y”(例如X=5,Y=2的“5_2”)。我希望每个按钮运行同一个子按钮。同一窗体上没有其他按钮 我可以这样做:Private Sub TileClicked(发送者作为对象,e作为事件参数)处理0\u 0.Click、0\u 1.Click、0\u 2.Click、等等(最多8\u 8.Click),但如果有更简单的方法,我宁愿这样做 可以通过某种方式处理任何按钮单击,也可以通过类似For循环的方式遍历所有81个按钮 Dim bt

我在一个表单(9x9网格)上有81个按钮,每个按钮都被命名为“X_Y”(例如X=5,Y=2的“5_2”)。我希望每个按钮运行同一个子按钮。同一窗体上没有其他按钮

我可以这样做:
Private Sub TileClicked(发送者作为对象,e作为事件参数)处理0\u 0.Click、0\u 1.Click、0\u 2.Click、
等等(最多8\u 8.Click),但如果有更简单的方法,我宁愿这样做

可以通过某种方式处理任何按钮单击,也可以通过类似For循环的方式遍历所有81个按钮

Dim btn as Button = Nothing
For Each ctrl As Control in myForm.Controls
    If TypeOf ctrl Is Button Then
        btn = DirectCast(ctrl, Button)
        AddHandler btn.Click, AddressOf Me.Button_Click
    End If
Next

您希望按钮做什么?你能在一个方法中做什么,然后为每个按钮调用该方法吗?最好不要在设计时手动将所有这些按钮都放在表单上。在运行时以编程方式添加按钮是一个更好的选择,然后您可以在创建按钮时添加处理程序。