Домой Control Динамическое создание элементов на форме.: Справочник по C#

Динамическое создание элементов на форме.: Справочник по C#

1200
0


      Как правило компоненты формы предопределены заранее. Динамический ввод новых данных для формы нужны тогда, когда нужно ввести сразу много новых данных. Например, магазин товаров, и пользователь хочет добавить в корзину несколько товаров, заранее не определить сколько товаров добавит пользователь. Реализуем пример динамического создания кнопки.
Запустите Microsoft Visual Studio и перейдите в меню — Файл — Создать — Проект…

В открывшемся диалоговом окне «Создать проект«, выберете «Приложение Windows Form» и введите имя проекта.

Добавьте компонент Button из панели элементов.

      Перейдите в свойства добавленного компонента, сделав клик правой клавишей мыши по нему.

      В открывшийся вкладке со свойствами, найдите свойство Text и введите напротив него текст «Источник«.

      Перейдите в события компонента нажав в той же вкладке где и свойства на кнопку в виде молнии.

      Найдите среди событий компонента, событие Click и сделайте двойной клик правой клавишей мыши напротив него.

      У вас откроется или станет активной вкладка с кодом формы и курсор будет установлен на событие Click компонента, добавьте приведенный ниже код в это событие.

int colbutton = 0;
private void button1_Click(object sender, EventArgs e)
{
//Получаем ссылку на кнопку, на которую нажали
Button oldbutton = (Button)sender;
//Создаем новую кнопку
Button newbutton = new Button();
//Меняем текст на новой кнопке
newbutton.Text = "Кнопка №" + colbutton;
newbutton.Width = oldbutton.Width;
newbutton.Height = oldbutton.Height;
//Размещаем ее ниже (на 10px) кнопки, на которую мы нажали
newbutton.Location = new Point(oldbutton.Location.X,oldbutton.Location.Y + oldbutton.Height + 10);
//Добавляем событие нажатия на новую кнопку
//(то же что и при нажатии на исходную)
newbutton.Click += new EventHandler(button1_Click);
//Добавляем элемент на форму
this.Controls.Add(newbutton);
colbutton++;
}

      Запустим проект нажав на клавиатуре клавишу F5 или отыскав на панели инструментов кнопку «Начать отладку«.

      После запуска приложения нажав на кнопку «Источник«, у вас появится под ней новая кнопка, если вы нажмете на только что созданную кнопку то вы получите под ней еще одну и так далее. Единственным недостатком такого кода является то, что компоненты уходят за границы формы и вам необходимо каждый раз ее расширять.

      Для устранения данной проблемы перейдите в свойства формы и отыщите свойство AutoScroll и установите его значение в true. Данное свойство управляет автоматическим появлением полосы прокрутки, когда содержимое элемента управления больше его отображаемой области.

      Запустите проект и поочередно нажмите несколько раз на кнопки, пока созданные кнопки не выйдут за отображаемую часть формы, после чего у вас появится полоса прокрутки позволяющая не изменяя размеров формы просматривать элементы формы.

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

ЧИТАТЬ ТАКЖЕ:  Создание общей папки: Справочник по C#

Ссылка для скачивания примера: Яндекс.Диск

Динамическое создание элементов на форме.: Справочник по C#

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь