2013-08-23 5 views
0

같은 유형의 흐름을 실행하는 여러 유형의 텍스트 상자 옆에 여러 개의 단추가 있습니다. 핸들과 함께 쉼표 구분 기호를 추가하여 모든 _click 이벤트를 하나의 이벤트로 묶기로 결정했습니다. 특정 속성을 통해 어떤 버튼을 클릭했는지 알 수있는 방법이 있습니까? 그렇다면 해당 특정 텍스트 필드 만 사례 문을 사용하거나 그 정도까지 사용할 수 있습니까? 그것은 하나의 클릭 이벤트를 통해 처리되었으므로 (다른 버튼이 실행되는 동일한 함수를 실행하기 위해 10+ 클릭 이벤트를 만들고 싶지 않았기 때문에 코드와 가독성을 저장) 어떤 버튼을 클릭했는지 확인할 수있는 방법이 있습니까?버튼을 클릭하면 데이터가 전달됩니까?

Public Sub YourEventHandlerName(sender As object, e As EventArgs) 
    Select CType(sender, Button).Name 
     Case "Button1_Name" 
      'Do what ever you wanted to do in here 
     Case "Button2_Name" 
      'Do what ever you wanted to do in here 
    End Select 
End Sub 

답변

1

두 개의 인수있어 대리자에서 : 개체 보낸 사람,하고있는 EventArgs 전자를

+0

이것은 쉽게 VB 코드로 변환 될 수 있습니다. 나에게 이것은 옳았다. – Recipe

1

당신이 뭔가를 시도 할 수 있습니다. 는 그냥 버튼 객체에 보낸 개체를 캐스팅하고 당신은 버튼과 그 모든 속성에 대처할 수 :

private void button_Click(object sender, EventArgs e) 

     { 
      Button btn = sender as Button; 
      string name = btn.Name; 
     } 

편집 : 미안 해요, 통지를하지 않은 VB.NET 태그,하지만 난 ' 그냥 내 대답을 떠날거야;)

+0

솔직히 말해서 이것이 실제 사용법에 대한 생각이라면 각 버튼에 대한 이벤트 핸들러를 보게됩니다. 그것은보다 깨끗하고 관리하기가 훨씬 쉽습니다. 이 방법을 사용하면 문자열로 하드 코딩 된 이름이 붙어 있습니다 ... – Recipe

관련 문제