2016-11-01 4 views
0

동일한 기능 Onclick을 여러 라벨이 있지만 다른 매개 변수가 있는지 묻고 싶습니다. 어떻게 30 가지 방법없이 그들을 처리 할 수 ​​있습니다. C#으로 Windows 양식 응용 프로그램에서 A-Z 필터를 만들고 싶습니다. 각 캐릭터 (A, B, C, D ...., Z)의 라벨이 있습니다. 또한 나는 DB에서 데이터 TreeView 있습니다.C에서 다중 OnClick 이벤트

private void labelLetter1_Click(object sender, EventArgs e) 
{ 
    //this.labelLetter1.Text 
    // get value of the label and refresh treeview 
} 

모든 문자에 동일 코드를 반복하고 싶습니다.

+1

? 라벨 몇 개를 보여주십시오. –

+1

가능한 여러 개의 버튼을 동일한 이벤트 핸들러에 가입시키고 어떤 버튼을 클릭했는지에 따라 어떻게 동작합니까?] (http://stackoverflow.com/questions/3814234/how-can-i-subscribe-multiple-buttons) -to-the-the-same-event-handler-and-act-upon) – Aidin

답변

3

다른 이벤트 이벤트를 구독하십시오. 다음과 같이 시도하십시오 :

private void labelLetter1_Click(object sender, EventArgs e) 
{ 
    Label lbl = (Label) sender; 
    var text = lbl.Text; 
    //this.labelLetter1.Text 
    // get value of the label and refresh treeview 
} 

이제이 이벤트를 등록 정보 창에서 다른 레이블로 설정하십시오.

+0

롤 감사합니다! –

+0

@ ИванЖелев 도움을 기쁩니다. 대답으로 표시 하시겠습니까? – Badiparmagi

+0

감사! 이것은 나를 도왔다! –

1

sender 매개 변수는 이벤트를 트리거 한 원래 개체가됩니다. 귀하의 경우에는 Label이 될 것입니다. 즉 object 번을 Label 번으로 전송할 수 있습니다.

또한 단일 label_click 메서드를 만들고 모든 레이블 사용자에게 단일 메서드를 사용할 수 있습니다. 예를 들어

:

어떤 매개 변수
private void label_Click(object sender, EventArgs e) 
{ 
    String labelText = (sender as Label).Text; 
    //Your process 
}