代码之家  ›  专栏  ›  技术社区  ›  ghostdog74

对类似按钮的操作进行分组的更好方法?

  •  1
  • ghostdog74  · 技术社区  · 14 年前

    假设我有一个button1子例程

       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim buttonText As String = Button1.Text
            someOtherRoutine(buttonText)
        End Sub
    

    我的主窗体中有很多这样的按钮。他们都这样做。获取文本并传递到其他例程。如果我有20个按钮,那么我将有20个这样的子例程。在不创建那么多子例程的情况下,是否有更好的(或标准的)方法来实现这一点?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   Oded    14 年前

    您可以使用这一个子例程来处理 全部的 钮扣:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
       Handles Button1.Click, _
       Handles Button2.Click, _
       ...
       Handles Button20.Click
    
          Dim myButton As Button = sender
          Dim buttonText As String = myButton.Text
    
          ...
    
    End Sub
    
        2
  •  1
  •   Tim Schmelter    14 年前

    你可以使用 AddHandler 要为每个按钮添加相同的事件处理程序,或者可以在 Handles 条款。

    Sub EventHandler() Handles Obj.Ev_Event, Obj2.Ev_Event
    ' Handle the event.
    MsgBox("EventHandler caught event.")
    EndSub