Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2012, 18:46   #1
Rymbil
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 38
По умолчанию обработчик события

У меня есть много пикчербоксов и и на них нужно кликать, причем и не хотелось бы к каждому событие прописывать, ведь делают они одно и тоже.

Вот тут я добавляю picturebox на панель и еще кое че. Надо что бы при клике на него менялась картинка и так для каждого. Можно ли как то тут прописать это событие? Не хочу для всех прописывать отдельно код будет длинным.
Их так то будет всего 225 так что вы понимаете.
Поэтому я их и на панеле то не хочу вручную размещать
Код:
void add(int x,int y)
        {
            PictureBox PB = new PictureBox();
            PB.ImageLocation = "p.jpg";
            PB.Width = 30;
            PB.Height = 30;
            PB.SizeMode = PictureBoxSizeMode.StretchImage;
            PB.Location = new Point(x, y);            
            panel1.Controls.Add(PB);

        }

Последний раз редактировалось Stilet; 29.10.2012 в 18:57.
Rymbil вне форума Ответить с цитированием
Старый 29.10.2012, 18:52   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как вы думаете что за параметр sender у события?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.10.2012, 18:54   #3
Rymbil
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 38
По умолчанию

Не думал об этом, щас посмотрю
Rymbil вне форума Ответить с цитированием
Старый 29.10.2012, 18:57   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Создайте в дизайнере ваш бокс, назначьте ему клик.
Потом посмотрите какой код сгенерился.
eval вне форума Ответить с цитированием
Старый 29.10.2012, 19:01   #5
Rymbil
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 38
По умолчанию

eval, ну вот такой, только тут прописано имя этого бокса
private void pictureBox1_Click(object sender, EventArgs e)
{

}
Rymbil вне форума Ответить с цитированием
Старый 29.10.2012, 19:04   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

это не весь код, посмотрите еще в InitializeComponent()
eval вне форума Ответить с цитированием
Старый 29.10.2012, 19:32   #7
Rymbil
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 38
По умолчанию

PB.Click += new System.EventHandler(pictureBox_Clic k); делаю вот так.
А теперь надо как то понять что написать в pictureBox_Click чтоб узнать на какой кликнули
Rymbil вне форума Ответить с цитированием
Старый 29.10.2012, 20:33   #8
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

а теперь #2
eval вне форума Ответить с цитированием
Старый 29.10.2012, 21:25   #9
Rymbil
Пользователь
 
Регистрация: 01.10.2009
Сообщений: 38
По умолчанию

Всем спасибо, все работает вот мой обработчик
private void pictureBox_Click(object sender, EventArgs e)
{

var PB = (PictureBox)sender;
PB.ImageLocation = "x.jpg";
}
Rymbil вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработчик события BodyZ C# (си шарп) 0 24.10.2012 18:17
С# Обработчик события yulshaz Помощь студентам 7 24.09.2012 08:12
Обработчик события yardie Общие вопросы .NET 3 26.03.2011 18:30
Предопределенный обработчик события nikmay Общие вопросы Delphi 13 15.07.2009 15:48
Обработчик события... Flash_ Gamedev - cоздание игр: Unity, OpenGL, DirectX 12 12.03.2007 21:24