2016-11-01 42 views
0

我想問我是否有多個具有相同函數Onclick但具有不同參數的標籤。我怎樣才能處理他們沒有30個方法。 我想用C#在Windows窗體應用程序中製作A-Z濾鏡。每個角色都有標籤(A,B,C,D ....,Z)。我也有從數據庫的數據的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-cani-i-subscribe-multiple-buttons - 相同的事件處理程序和行爲 - 相關) – 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 
}