отправить дополнительные строки в функцию обработчика событий - PullRequest
1 голос
/ 30 октября 2010

у меня есть стандартная mouseEventHandler:

a.MouseClick += new MouseEventHandler(labelClick);

где a это метка. функция, вызываемая по клику, выглядит так:

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

Как я могу отправить больше информации вызываемой функции? (т.е. у меня много меток; для каждой метки я хотел бы отправить 2 строки для моего местоположения и адреса)

С уважением, Александру Бадеску

Ответы [ 2 ]

3 голосов
/ 30 октября 2010

Может быть, вы можете использовать свойство Tag метки, привести параметр sender в качестве метки и прочитать свойство Tag.

Установите для свойства Tag значение

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

Затем вобработчик событий

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

Теперь у вас есть Location в первом элементе массива и Address во втором.

2 голосов
/ 30 октября 2010
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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...