0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 18
1

При нажатии на Button каждый раз создается новый компонент (button/label/textbox)

25.09.2017, 22:10. Показов 19788. Ответов 5
Метки нет (Все метки)

Как реализовать?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2017, 22:10
Ответы с готовыми решениями:

Создание button без заднего фона, и подключение коротких звуков при нажатии button
Т.к. я только начинающий юзер C#, хотел бы спросить, если кто сможет подсказать, как убрать задний...

Как вывести текст в Label при нажатии Button?
Как сделать метод чтобы при введении числа в textBox1 и введении знака в textBox2 и введении x в...

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Изменить содержимое textBox при нажатии на button
Очень глупая функция, но я уже 2й час не могу понять как это осуществить... Нужно при нажатии на...

5
4 / 4 / 3
Регистрация: 12.08.2017
Сообщений: 35
25.09.2017, 22:33 2
Лучший ответ Сообщение было отмечено Alexander Timof как решение

Решение

Полагаю, что так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        void CreateButton(Control Parent) 
        {
            Button btn = new Button();
            btn.Location = new Point(100,100); //расположение
            btn.Size = new Size(50, 60); // размер
            btn.Text = "йоу"; //текст
            //далее можно еще добавить свойств, на Ваше усмотрение
            Parent.Controls.Add(btn); //добавляем кнопку на родительский контрол
        }
        //аналогично методу CreateButton можно описать методы для создания TextBox и Label
 
        private void button3_Click(object sender, EventArgs e)
        {
            CreateButton(panel1); // это значит, что кнопку нужно создать на panel1
        }
Добавлено через 7 минут
Чтобы кнопки при каждом нажатии не создавались на одном и том же месте, и не накладывались друг на друга, можно добавить параметр, отвечающий за расположение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        void CreateButton(Control Parent, Point Pos) 
        {
            Button btn = new Button();
            btn.Location = Pos; //расположение
            btn.Size = new Size(50, 60); // размер
            btn.Text = "йоу"; //текст
            Parent.Controls.Add(btn); //добавляем кнопку на родительский контрол
        }
 
        int i = 0;
        private void button3_Click(object sender, EventArgs e)
        {
            i += 70;
            CreateButton(panel1, new Point(100, i)); // это значит, что кнопку нужно создать на panel1
        }
1
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 18
26.09.2017, 00:52  [ТС] 3
Цитата Сообщение от 15 символов огр Посмотреть сообщение
C#
1
CreateButton(panel1, new Point(100, i)); // это значит, что кнопку нужно создать на panel1
что за panel1?

Добавлено через 1 час 10 минут
А как сделать так чтобы новые кнопки выполняли какую-либо команду?
0
210 / 210 / 73
Регистрация: 12.01.2011
Сообщений: 749
26.09.2017, 00:54 4
Цитата Сообщение от Alexander Timof Посмотреть сообщение
А как сделать так чтобы новые кнопки выполняли какую-либо команду?
вам надо смотреть "события". У каждого элемента есть свои события, которые можно программировать.
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 18
26.09.2017, 01:13  [ТС] 5
Пример бы))
0
4 / 4 / 3
Регистрация: 12.08.2017
Сообщений: 35
26.09.2017, 07:47 6
Лучший ответ Сообщение было отмечено Alexander Timof как решение

Решение

Цитата Сообщение от Alexander Timof Посмотреть сообщение
что за panel1?
Вместо panel1 пишите контрол, на котором Вы хотите создать кнопку. Например, можете написать this, это значит что Вы хотите создать кнопку на самой форме.
Цитата Сообщение от Alexander Timof Посмотреть сообщение
Пример бы))
Обычно, у классов каких-то элементов управления должны быть свойства, методы и события.
В данном случае рассмотрим класс Button. В коде выше мы изменяли различные свойства кнопки:
C#
1
2
3
            btn.Location = Pos; //расположение
            btn.Size = new Size(50, 60); // размер
            btn.Text = "йоу"; //текст
Однако теперь Вам понадобилось запрограммировать поведение кнопки, в случае если пользователь нажмет ее. Для этого случая соответствует событие Click (клик, нажатие). Чтобы узнать, какие у класса есть методы, свойства или события непосредственно в коде, то достаточно ввести название класса, а затем точку (это работает не только для классов). Например, перейдите в метод CreateButton и на следующей строке после строки
C#
1
btn.Text = "йоу";
начните вводить "btn.", должно появиться окно автодополнения IntelliSense, как показано на рисунке:
Название: gffg.png
Просмотров: 589

Размер: 7.8 Кб
Обратите внимание на три кнопки внизу окошка (они подчеркнуты красной линией). С помощью этих кнопок можно задавать фильтрацию по методам, свойствам и событиям. Чтобы просмотреть только события кнопки, нажмите на значок молнии и начинайте вводить слово "Click". Должно появиться соответствие. Выберите событие Click, у вас должно получиться:
C#
1
btn.Click
Теперь Вам нужно определить, что должна делать кнопка при обработке этого события (при нажатии). Для этого на этой же строке введите "+=" и нажмите пробел, среда должна предложить вам создать событие по нажатию клавиши TAB:
При нажатии на Button каждый раз создается новый компонент (button/label/textbox)

Нажмите TAB, а затем Enter. У вас должен автоматически сгенерироваться метод:
C#
1
2
3
4
        private void Btn_Click(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }
А сама строка изменилась на
C#
1
btn.Click += Btn_Click;
Это значит, что для события Click определен метод Btn_Click, в котором Вам и нужно записать необходимый алгоритм, то есть написать там то, что должно происходить при нажатии на кнопку. Например, сотрите все внутри метода Btn_Click и напишите:
C#
1
2
3
4
        private void Btn_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Я - новая кнопка");
        }
Скомпилируйте проект, запустите программу и нажмите на только что созданную кнопку.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.09.2017, 07:47
Помогаю со студенческими работами здесь

Написать программу , stringgrid перенос значений в label при нажатии на button
Написать программу , stringgrid заполнена значениями, при выделении любой ячейки в stringgrid и...

при нажатии на button записать значение в сфокусированный textbox
Всем доброе время суток. Помогите пожалуйста. Имею дело с C# всего неделю, потому трудно во всем...

Создавать новый файл .txt при каждом нажатии на Button
Здравстуйте! Столкнулся с такой задачей в Делфи: нужно чтобы при каждом нажатии кнопки создавался...

При нажатии на кнопку Button в ListBox добавить строку, введенную в TextBox
как сделать так что бы при вводе текста в textbox при нажатии на кнопку button в listbox...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru