0

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

4

2 回答 2

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

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

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

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 控件来更具体。

于 2013-02-27T12:45:30.607 回答
0

您可以对所有按钮使用句柄并获取发送者值中的按钮,然后添加您的逻辑。可能对你有帮助...

于 2013-02-27T12:50:46.587 回答