2010-10-30 29 views
1

我有一個標準mouseEventHandler:增派字符串事件處理函數

a.MouseClick += new MouseEventHandler(labelClick);

其中a是一個標籤。被點擊的功能就像這樣:

private void labelClick(object sender,MouseEventArgs mea) 
     { 
      MessageBox.Show("click on the label"); 
     } 

如何發送更多信息給被調用函數? (即我有很多的標籤,每個標籤我想送2串爲我的位置和地址)

問候, 亞歷Badescu

回答

2
a.MouseClick += (sender, e) => HandleLabelMouseClick(sender, e, "whatever1", "whatever2"); 

private void HandleLabelMouseClick(object sender, MouseEventArgs e, string whatever1, string whatever2) 
{ 
    MessageBox.Show(whatever1 + "\n" + whatever2); 
} 
3

也許你可以使用標籤和鑄造的標籤屬性sender參數作爲標籤和讀取標籤屬性。

設置Tag屬性的

string.Format("{0};{1}", Location, Address) 

然後在事件處理程序

Label lbl = sender as Label; 
String[] LocAdd = ((String)lbl.Tag).Split(';'); 

現在,你必須在數組中的第一項的位置,並在第二個地址。