Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
KillJoy
55 / 55 / 14
Регистрация: 21.09.2009
Сообщений: 313
Записей в блоге: 1
#1

Как поулчить имя динамически созданной кнопки - C#

23.02.2012, 11:29. Просмотров 1162. Ответов 7
Метки нет (Все метки)

На контрол tabPage динамически добавляются N кнопок с именами button1 ... buttonN. Как поулчить имя кнопки, на которую нажал пользователь?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2012, 11:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как поулчить имя динамически созданной кнопки (C#):

Как получить имя кнопки? - C#
Есть 5 кнопок, у всех 1 общее событие onClick, как с помощью его определить какая кнопка была нажата?(получить имя кнопки);

Имя кнопки из массива - C#
Button button = new Button(); button.Name = world.ToString(); Помогите плиз. В цикле нужно создать кнопку с именем из...

Как конвертировать имя цвета из шестнадцатиричного формата в имя KnownColor - C#
Имею PictureBox и в нём квадратики, залитые всеми цветами из KnownColor. Щелкаю по ним мышкой и методом GetPixel(p.X, p.Y) получаю в...

Как узнать имя процесса, зная имя программы? - C#
Здравствуйте, подскажите пожалуйста, как узнать имя процесса выполняемой программы, зная имя этой программы в c#? P.S. Если это...

Как обратиться из потока 1 к переменной, созданной в потоке 2 - C#
Подскажите) не нагуглил

Как изменить ширину созданной колонки listview? - C#
Как изменить ширину созданной колонки? Допустим есть or (int i = 0; i < x.Length; i++) ...

7
DimanRu
678 / 671 / 49
Регистрация: 15.06.2011
Сообщений: 1,699
23.02.2012, 11:38 #2
Для всех кнопок назначить один обработчик события, в котором "спрашивать" имя кнопки
0
KillJoy
55 / 55 / 14
Регистрация: 21.09.2009
Сообщений: 313
Записей в блоге: 1
23.02.2012, 11:59  [ТС] #3
У меня нет ни одной идеи, как это реализовать программно.
0
Wurgengel
16 / 16 / 2
Регистрация: 23.02.2012
Сообщений: 96
23.02.2012, 13:17 #4
Примерно так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void Form1_Load(object sender, EventArgs e)
        {
 
            Button btn = new Button();
            btn.Name = "btn1";
            btn.Text = "btn1";
            btn.Click+=new EventHandler(btn_Click);
            ControlCollection c = new ControlCollection(this);
            c.Add(btn);
        }
 
        private void btn_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            string name = btn.Name;
        }
0
Vitall
750 / 530 / 23
Регистрация: 03.07.2011
Сообщений: 1,020
23.02.2012, 13:33 #5
Цитата Сообщение от Wurgengel Посмотреть сообщение
C#
1
2
ControlCollection c = new ControlCollection(this); 
c.Add(btn);
А эт зачем ?
0
Wurgengel
16 / 16 / 2
Регистрация: 23.02.2012
Сообщений: 96
23.02.2012, 14:13 #6
Это я так добавил кнопку в форму.
0
mrReptiloid
311 / 174 / 9
Регистрация: 30.04.2011
Сообщений: 1,469
23.02.2012, 19:39 #7
Цитата Сообщение от Wurgengel Посмотреть сообщение
Это я так добавил кнопку в форму.
А зачем использовать коллекцию?Что сделать вот так
C#
1
Controls.Add(btn);
религия не позволяет?=)
а вообще насколько я понял кнопки создаются на tabpage b их должно быть n-нное количество,тогда правильно будет вот так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public partial class Form1 : Form
    {
int N;
Button btn;
[...]
 
private void Form1_Load(object sender, EventArgs e)
        {
 for(int i=0;i<N;i++)
{
            btn = new Button();
            btn.Name = "btn+i";
            btn.Text = "btn+i";
            btn.Click+=new EventHandler(btn_Click);
            TabControl.TabPabe.Controls.Add(btn);
}
        }
 
        private void btn_Click(object sender, EventArgs e)
        {
            Button b = (Button)sender;
            MessageBox.Show(b.Name);
        }
}
значение N зададите сами..

Добавлено через 12 минут
Извиняюсь не заметил,правильно вот так
C#
1
2
btn.Name = "btn"+i;
btn.Text = "btn"+i;
0
Wurgengel
16 / 16 / 2
Регистрация: 23.02.2012
Сообщений: 96
23.02.2012, 22:44 #8
C#
1
            TabControl.TabPabe.Controls.Add(btn);
TabPages[i]
Вопрос был, как узнать имя. Я показал, как привязку функции сделать и как в этой функции узнать имя кнопки.
0
23.02.2012, 22:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2012, 22:44
Привет! Вот еще темы с ответами:

Как получить данные из формы, созданной в InfoPath - C#
Есть форма XML, созданная в InfoPath, с таким вот содержанием: &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;?mso-infoPathSolution...

Как обратиться к созданной в проекте HTML страничке - C#
Господа, у меня тут задача такая, реализую простенький репорт по средствам HTML? Морочиться с кристалом и прочем монструозом не хочется,...

Как создать файл в папке, созданной нажатием на кнопку - C#
Здравствуйте! В поиске не нашел) При клике button происходит - создание в папке System подпапки с именем из выбранной строки в...

Возможно ли как-то, зная имя класса, вернуть в каком-либо методе имя класса? - C#
Добрый день! Интересуюсь. Есть Обобщенный метод, например: Add&lt;T&gt;(string nameElement). Какой конкретно Т определяется...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru