2010-11-24 2 views
1

내가 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 개의 서브 루틴이 생깁니다. 많은 서브 루틴을 만들지 않고 이것을 수행하는 것이 더 나은가?

감사

답변

3

당신은 버튼의 모든을 처리하기 위해 하나 개의 서브 루틴을 사용할 수 있습니다

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 
+0

나는 한 번만 Handles를 넣어야한다고 생각했습니다. Button1.Click, Button2.Click 처리와 마찬가지로 ... send text.Text와 같은 단추 텍스트를 가져 오려면 우리에게 보내야 함을 지적해야합니다. –

+0

@Ash Burlaczenko - 귀하의 의견을 제출하기 전에 답변;) – Oded

+0

안녕하세요,이 서브 루틴을 설명해 주시겠습니까? Button1을 클릭하기 만하면됩니까? 내 응용 프로그램에서는 Button1뿐만 아니라 Button2, Button3 등을 클릭해야합니다. thanks – ghostdog74

1

당신은 모든 버튼에 같은 ​​이벤트 처리기를 추가 AddHandler를 사용하거나 쉼표를 사용할 수 있습니다 Handles 절에있는 구분 된 목록

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