C # как отобразить или передать значение, на что вы нажали - PullRequest
2 голосов
/ 26 июля 2011

У меня есть некоторый код, который создает панели с картинками в них.Я хотел бы кое-что сказать мне, на какой картинной коробке щелкнули.Я использую следующее:

PicBx[z].Click += new EventHandler(clicked);

Нужно ли присваивать значение клику?Или есть способ просто отобразить то, на что вы нажали?

Ответы [ 3 ]

6 голосов
/ 26 июля 2011

Метод-обработчик получает элемент управления, который был выбран в качестве параметра sender.
Вы можете привести его к PictureBox и делать с ним все, что захотите.

В качестве альтернативы, вы можете добавить анонимный метод в качестве обработчика:

PicBx[z].Click += delegate { SomeMethod(z, somethingElse); };

Однако, убедитесь, что не закрывается над переменной цикла .

0 голосов
/ 26 июля 2011

Ваш обработчик событий будет иметь два аргумента в своей подписи: object sender и EventArgs e.sender - это объект, на который вы щелкнули, так что вы можете привести его к PictureBox или к какому-либо другому типу, и вам будет хорошо.

0 голосов
/ 26 июля 2011

Метод, по которому щелкнули, передал аргумент (Отправитель объекта) Это PictureBox, на который нажали.

...