我有一个标准的mouseEventHandler:
a.MouseClick += new MouseEventHandler(labelClick);
其中a是标签。点击时调用的函数如下:
private void labelClick(object sender,MouseEventArgs mea)
{
MessageBox.Show("click on the label");
}
如何向被叫函数发送更多信息? (即我有很多标签;对于每个标签,我想为我的位置和地址发送2个字符串)
此致 Alexandru Badescu
答案 0 :(得分:3)
也许您可以使用标签的Tag属性并将sender参数转换为标签并阅读Tag属性。
将Tag属性设置为
string.Format("{0};{1}", Location, Address)
然后在事件处理程序
中Label lbl = sender as Label;
String[] LocAdd = ((String)lbl.Tag).Split(';');
现在,您在阵列的第一项中有位置,在第二项中有地址。
答案 1 :(得分: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);
}