Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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,好的,我在表单上有很多按钮,我想要一个标签来显示一个特定的数字,这个数字是基于点击哪个按钮的。例如,如果单击其中一个按钮行中的任何按钮,则标签将显示10。如果单击第二行中的任何按钮,标签将显示17等。如何执行此操作?您可以使用Handles关键字处理来自多个对象的多个事件,使用一个子方法,例如: Private Sub Row1ButtonHandler(ByRef obj As Object, ByRef ea As EventArgs) _ Handles Button1.Click

好的,我在表单上有很多按钮,我想要一个标签来显示一个特定的数字,这个数字是基于点击哪个按钮的。例如,如果单击其中一个按钮行中的任何按钮,则标签将显示10。如果单击第二行中的任何按钮,标签将显示17等。如何执行此操作?

您可以使用
Handles
关键字处理来自多个对象的多个事件,使用一个
子方法,例如:

Private Sub Row1ButtonHandler(ByRef obj As Object, ByRef ea As EventArgs) _
    Handles Button1.Click, Button2.Click, Button3.Click
    Label1.Text = "1"
End Sub

Private Sub Row2ButtonHandler(ByRef obj As Object, ByRef ea As EventArgs) _
    Handles Button4.Click, Button5.Click, Button6.Click
    Label1.Text = "17"
End Sub
如您所见,现在,只要单击行中的任何按钮,就会调用这些处理程序方法中的每一个

但是,使用
AddHandler
removehdler
函数以编程方式设置事件处理程序可能更容易:

For c As Int32 = 0 to 10
    Dim btn As Control = Page.FindControl("Button" & c)
    AddHandler btn.Click, AddressOf MyEventHandler
Next c

请注意,我在这里使用了一个通用的
控件
,并假设您正在查看一个网页,但您可以通过使用LinkButton控件来更具体一些。

您可以在发送方值中使用所有按钮和获取按钮的句柄,然后添加逻辑。 也许对你有帮助