Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > подскажите с PictureBox


Автор: ilya_cska 7.4.2008, 13:07
Есть на форме несколько PictureBox. Как можно определить, по какому PictureBox пользователь кликнул мышью. Можно конечно для каждого написать обработчик события, а как один для всех обработчик создать?  smile 

Автор: vponomarov 7.4.2008, 13:17
ilya_cska, создаешь один обработчик клика и привязываешь его ко всем боксам.
чтобы узнать на какой именно кликнули - смотришь на параметр sender.

Автор: Kero 7.4.2008, 13:18
В параметрax онклика есть 
Код

Object sender


Это указатель на твой ПикчурБоксище. Осталось только привести его к типу PictureBox.
Допустим мы определяем что будем делать с пикчурбоксами по тегу
Код

switch ( ((PictureBox)sender).Tag.ToString() )
            {
                case "1": Application.Exit();
                    break;
            }

или модифицируем тег
Код

((PictureBox) sender).Tag = "Bla";


Автор: ilya_cska 9.4.2008, 13:43
 создаешь один обработчик клика и привязываешь его ко всем боксам. 
Как их связать?

Автор: vponomarov 9.4.2008, 13:53
Цитата(ilya_cska @  9.4.2008,  13:43 Найти цитируемый пост)
создаешь один обработчик клика и привязываешь его ко всем боксам. 
Как их связать? 

Код

this.pictureBox1.Click += new System.EventHandler(this.pb_Click);
this.pictureBox2.Click += new System.EventHandler(this.pb_Click);
this.pictureBox3.Click += new System.EventHandler(this.pb_Click);
...
this.pictureBoxN.Click += new System.EventHandler(this.pb_Click);

понятно?

Автор: ilya_cska 10.4.2008, 13:15
спасиб.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)