Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с определение конкретного контрола, Нужен совет 
:(
    Опции темы
V1rus
Дата 3.7.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 19.7.2005

Репутация: нет
Всего: нет



Так получилось, что окно создается динамически, и количество элементов заранее не известно. Так вот, имеется массив кнопок, у все один и тот же обработчик сообщения, но как узнать на какую имеено кнопку из этого массива был произведен клик, или грубо говоря как в обработчике узнать ее индекс, ведь туда передается только два параметра object и AventArgs. 
PM MAIL   Вверх
Tror
Дата 3.7.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 29.4.2005
Где: Кишинёв

Репутация: 2
Всего: 4



Код

private void button1_Click(object sender, EventArgs e)
{
    if (sender is Button)
    {
        MessageBox.Show((sender as Button).Text);
    }
}

 

Это сообщение отредактировал(а) Tror - 3.7.2006, 15:08
--------------------
Не говори всегда что знаешь, но знай всегда что говоришь. /Клавдий/============================================Кто может -- тот делает. Кто не может... тот получает сертификат MCSE ;)
PM MAIL ICQ   Вверх
V1rus
Дата 4.7.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 19.7.2005

Репутация: нет
Всего: нет



Это не то немного, данное дейсвтие возвращает имя кнопки, а имена у всех тоже одинаковые, мне нужен именн индекс иконки. Щас потсраюсь по корректнее вопрос поставить. Имеется что то типа этого:

Button[] button;
Combobox[] combobox;

button = new Button[length];
combobox =  new combobox[length];;


for(int i = 0; i < length; i++)
{
    combobox [i] = new Combobox();
    /*Грубо говоря настройки комбобокса*/

    button[i] = new Button();
    button[i].Text = "Добавить";
    button[i].EventHandler += new EventHandler(Addobject);

}

Вот и при клике итой кнопки должно выдиратся инфо именно из итого комбобокса. Как это можо сделать? 
PM MAIL   Вверх
ivashkanet
Дата 4.7.2006, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



V1rus, у каждого контрола есть хитрое свойство Tag в котором ты можешь хранить любую информацию. Например номер кнопки.
Код

for(int i = 0; i < length; i++)
{
    combobox [i] = new Combobox();
    /*Грубо говоря настройки комбобокса*/

    button[i] = new Button();
    button[i].Text = "Добавить";
    button[i].Tag = i;
    button[i].EventHandler += new EventHandler(Addobject);
}

А потом, как сказал Tror: 
Код

MessageBox.Show( (int) ((Button) sender).Tag);

 smile

Добавлено @ 11:08 
кстати, пользуйся кнопкой Код smile  для подсветки кода smile

Добавлено @ 11:12 
Еще кстати, этот вопрос уже не одну сотню раз обсуждался. V1rus, пользуйся поиском

 
PM MAIL WWW ICQ   Вверх
V1rus
Дата 4.7.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 19.7.2005

Репутация: нет
Всего: нет



Большое спасибо, в следующий раз сначала обязательно воспользуюсь поисковиком) 
PM MAIL   Вверх
ivashkanet
Дата 4.7.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Не за что,  smile 
P.S. Было бы еще хорошо, если бы ты отметил тему решенной. CheckBox чуть выше "панели" быстрого ответа 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.