处理来自大网格按钮的点击事件?

时间:2013-02-27 12:38:47

标签: vb.net

好的,我在表单上有多个按钮,我想要一个标签根据点击的按钮显示一个特定的数字。例如,如果单击第一行按钮中的任何按钮,标签将显示10.如果单击第二行中的任何按钮,标签将显示17,等等。我该怎么做?

2 个答案:

答案 0 :(得分:2)

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

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

正如您所看到的,现在只要单击其行中的任何按钮,就会调用每个处理程序方法。

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

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

请注意,我在这里使用了通用Control并假设您正在查看网页,但您可能更具体地使用了LinkBut​​ton控件。

答案 1 :(得分:0)

您可以在发件人值中使用Handles for all按钮和fetch按钮,然后添加您的逻辑。 可以帮到你...