Как добавить кнопки на форму с
Есть форма она разделена на 2 части. В левой создана кнопка. В правой tablelayoutpanel.При нажатии на кнопку должна заполняться tablelayoutpanel определённым количеством кнопок. К этим кнопкам добавить действие по клику и т.д. Как реализовать?
Проще всего задать все кнопки изначально , добавив их в форму , и скрыть их , в последствии активировать отображение каждой из них и изменять ее свойство программно .
Добавление элемента управления в форму (Windows Forms .NET)
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем.
Основной способ добавления элемента управления в форму — с помощью конструктора Visual Studio, но вы также можете управлять элементами управления в форме во время выполнения с помощью кода.
Документация руководства по классическим приложениям для .NET 6 и .NET 5 (включая .NET Core 3.1) находится в разработке.
Добавление с помощью конструктора
Для создания форм в Visual Studio используется конструктор форм. На панели «Элементы управления» представлен список всех элементов управления, доступных для приложения. Элементы управления можно добавлять с панели двумя способами:
Добавление элемента управления двойным щелчком
При двойном щелчке элемента управления он автоматически добавляется в текущую открытую форму с параметрами по умолчанию.
Добавление элемента управления путем рисования
Выберите элемент управления, щелкнув его. В форме выберите область путем перетаскивания указателя мыши. Элемент управления будет помещен в соответствии с размером выбранного региона.
Добавление с помощью кода
Элементы управления можно создавать и добавлять в форму во время выполнения с помощью коллекции Controls формы. Эту коллекцию можно также использовать для удаления элементов управления из формы.
Следующий код добавляет и размещает два элемента управления, Label и TextBox:
Как добавить кнопки на форму с
Эта статья помогает программным образом добавлять и настраивать элементы управления в форме Windows с помощью Visual C#.
Оригинальная версия продукта: Visual C #
Исходный номер КБ: 319266
Сводка
В этой пошаговой статье показано, как программировать добавление и настройку нескольких часто используемых элементов управления в Windows форме. Обработка событий была пропущена из примера кода.
Требования
В этой статье предполагается, что вы знакомы со следующими разделами:
Создание приложения Windows Forms
Дважды щелкните Form1 для создания и просмотра Form1_Load процедуры события.
Добавьте переменные частных экземпляров в класс для работы с Form1 общими Windows управления. Класс Form1 начинается следующим образом:
Код следует изменить в Visual Studio. При создании проекта Windows Forms visual C# по умолчанию добавляет одну форму в проект. Эта форма называется Form1. Два файла, которые представляют форму, называются Form1.cs и Form1.designer.cs. Вы пишете код в Form1.cs. Файл Designer.cs — это Windows конструктор форм, который реализует все действия, выполняемые путем добавления элементов управления. Дополнительные сведения о конструкторе Windows форм в visual C# см. в Project (Visual C#).
Настройка свойств формы и управления
Найдите процедуру события и добавьте в процедуру следующий код, чтобы настроить внешний вид Form1_Load управления формой:
Добавьте следующий код в процедуру события, чтобы настроить внешний вид кнопки Form1_Load управления:
Добавьте следующий код, чтобы настроить внешний вид управления TextBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления ListBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления CheckBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления Меткой Form1_Load в:
Добавление элементов управления в форму
Добавьте следующий код, чтобы добавить каждый объект в массив формы в Controls Form1_Load конце:
Убедитесь, что он работает
Чтобы убедиться, что пример работает, выберите Пуск в меню Отлаговка.
Ссылки
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем.
Основной способ добавления элемента управления в форму — с помощью конструктора Visual Studio, но вы также можете управлять элементами управления в форме во время выполнения с помощью кода.
Добавление с помощью конструктора
Для создания форм в Visual Studio используется конструктор форм. На панели «Элементы управления» представлен список всех элементов управления, доступных для приложения. Элементы управления можно добавлять с панели двумя способами:
Добавление элемента управления двойным щелчком
При двойном щелчке элемента управления он автоматически добавляется в текущую открытую форму с параметрами по умолчанию.
Добавление элемента управления путем рисования
Выберите элемент управления, щелкнув его. В форме выберите область путем перетаскивания указателя мыши. Элемент управления будет помещен в соответствии с размером выбранного региона.
Добавление с помощью кода
Элементы управления можно создавать и добавлять в форму во время выполнения с помощью коллекции Controls формы. Эту коллекцию можно также использовать для удаления элементов управления из формы.
Следующий код добавляет и размещает два элемента управления, Label и TextBox:
Шаг 1. Создание проекта и добавление в форму элементов управления Label
Первые шаги разработки этой головоломки предполагают создание проекта, добавление меток, кнопки и других элементов управления в форму. Также вам предстоит задать свойства для каждого добавляемого элемента управления. Проект будет содержать форму, элементы управления и добавленный в следующих уроках учебника код. Кнопка запускает головоломку, метки служат для отображения задач, входящих в головоломку, а остальные элементы управления служат для отображения ответов и времени, оставшегося на решение головоломки.
Этот раздел входит в серию учебников, посвященных основам написания кода. Общие сведения об учебнике см. в разделе Руководство 2. Создание ограниченной по времени математической головоломки.
Создание проекта для формы
В строке меню щелкните Файл > Создать > Проект.
Выберите Visual C# или Visual Basic в левой области диалогового окна Новый проект, а затем — Классическое приложение Windows.
В списке шаблонов выберите шаблон Приложение Windows Forms (.NET Framework), назовите его MathQuiz, а затем нажмите кнопку ОК.
Появится форма с именем Form1.cs или Form1.vb, в зависимости от выбранного языка программирования.
Дополнительные сведения см. в разделе Установка Visual Studio.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите Windows Forms. Затем в списке Тип проекта выберите Рабочий стол.
Применив фильтр Тип проекта, выберите шаблон Приложение Windows Forms (.NET Framework) для C# или Visual Basic и нажмите кнопку Далее.
Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку.
В поле Имя проекта окна Настроить новый проект введите MathQuiz. Затем нажмите Создать.
Задание свойств формы
В Visual Studio выберите форму (Form1.cs или Form1.vb, в зависимости от используемого языка программирования), а затем измените ее свойство Text на Математическая головоломка.
Окно Свойства содержит свойства формы.
Измените размер формы на 500 пикселей в ширину и 400 пикселей в высоту.
Изменить размер формы можно, перетаскивая ее границы до тех пор, пока в левом нижнем углу интегрированной среды разработки не появится нужный размер. Другой вариант — изменить значения свойства Size.
Измените значение свойства FormBorderStyle на Fixed3D, а свойству MaximizeBox установите значение False.
Эти значения не позволят игрокам изменять размеры формы.
Создание поля «Оставшееся время»
Добавьте элемент управления Label из панели элементов, затем установите для его свойства (Name) значение timeLabel.
Эта метка станет полем в правом верхнем углу формы, в котором будет отображаться количество секунд, оставшихся на решение головоломки.
Измените значение свойства AutoSize на False, чтобы можно было изменить размер поля.
Измените значение свойства BorderStyle на FixedSingle для отрисовки линии вокруг поля.
Установите значение свойства Size равным 200, 30.
Переместите метку в правый верхний угол формы, где при этом появятся синие линии-разделители.
Эти линии помогают выравнивать элементы управления в форме.
В окне Свойства выберите свойство Text и нажмите клавишу BACKSPACE, чтобы удалить его значение.
Нажмите знак плюса ( + ) рядом со свойством Font и измените значение свойства Size на 15,75.
Можно изменить несколько свойств шрифта, как показано на снимке экрана ниже.
Добавьте еще один элемент управления Label из панели элементов и установите для его размера шрифта значение 15,75.
Задайте свойству Text значение Оставшееся время.
Переместите метку так, чтобы она находилась чуть левее метки timeLabel.
Добавление элементов управления для задачи на сложение
Добавьте элемент управления Label из панели элементов и установите для его свойства Text значение ? (вопросительный знак).
Задайте свойству AutoSize значение False.
Установите значение свойства Size равным 60, 50.
Установите размер шрифта равным 18.
Установите для свойства TextAlign значение MiddleCenter.
Установите для свойства Location значение 50, 75, чтобы поместить элемент управления в нужное место в форме.
Установите для свойства (Name) значение plusLeftLabel.
Выберите метку plusLeftLabel, а затем либо нажмите клавиши CTRL+C, либо выберите пункт Копировать в меню Правка.
Вставьте метку три раза, нажимая клавиши CTRL+V или выбирая Вставить в меню Правка.
Разместите три новые метки так, чтобы они располагались в ряд справа от метки plusLeftLabel.
Для выравнивания меток и регулировки промежутков между ними можно пользоваться линиями-разделителями.
Установите для свойства Text второй метки значение + (знак плюса).
Установите для свойства (Name) третьей метки значение plusRightLabel.
Установите для свойства Text четвертой метки значение = (знак равенства).
Добавьте элемент управления NumericUpDown из панели элементов, установите его размер шрифта равным 18, а его ширину — равной 100.
Подробнее этот вид элементов управления мы рассмотрим позже.
Выровняйте элемент управления NumericUpDown по элементам управления Label для задачи на сложение.
Измените значение свойства (Name) элемента управления NumericUpDown на sum.
Первая строка создана, как показано на иллюстрации ниже.
Добавление элементов управления для задач на вычитание, умножение и деление
Скопируйте все пять элементов управления для задачи на сложение (четыре элемента управления Label и элемент управления NumericUpDown) и вставьте их.
Теперь форма содержит пять новых элементов управления, которые все еще выбраны.
Переместите все элементы управления так, чтобы выровнять их под элементами управления для сложения.
Для обеспечения достаточного расстояния между строками можно пользоваться линиями-разделителями.
Измените значение свойства Text второй метки на — (знак «минус»).
Назовите первую метку с вопросительным знаком minusLeftLabel.
Назовите вторую метку с вопросительным знаком minusRightLabel.
Присвойте элементу управления NumericUpDown имя difference.
Вставьте эти пять элементов управления еще два раза.
В третьей строке назовите первую метку timesLeftLabel, у второй метки измените значение свойства Text на × (знак умножения), третью метку назовите timesRightLabel, а элемент управления NumericUpDown назовите product.
В четвертой строке назовите первую метку dividedLeftLabel, у второй метки измените значение свойства Text на ÷ (знак деления), третью метку назовите dividedRightLabel, а элемент управления NumericUpDown назовите quotient.
Знак умножения × и знак деления ÷ можно скопировать из этого руководства и вставить их в форму.
Добавление кнопки запуска и задание порядка перехода по клавише TAB
Добавьте элемент управления Button из панели элементов и установите для его свойства (Name) значение startButton.
Задайте свойству Text значение Запуск головоломки.
Установите размер шрифта равным 14.
Установите для свойства AutoSize значение True, которое вызывает автоматическое изменение размера кнопки в зависимости от размера текста.
Разместите кнопку по центру в нижней части формы.
Установите значение свойства TabIndex элемента управления startButton равным 1.
Свойство TabIndex задает порядок перехода по элементам управления при нажатии клавиши TAB. Чтобы увидеть, как это работает, откройте любое диалоговое окно (например, в строке меню выберите Файл > Открыть), а затем несколько раз нажмите клавишу TAB. Вы увидите, что при каждом нажатии клавиши TAB курсор перемещается от одного элемента управления к другому. Порядок этих переходов был задан программистом при создании формы.
Установите значение свойства TabIndex для элемента управления NumericUpDown с именем sum равным 2, для элемента управления difference равным 3, для элемента управления product равным 4, а для элемента управления quotient равным 5.
Теперь форма должна выглядеть как на снимке экрана ниже.
Чтобы проверить, работает ли свойство TabIndex ожидаемым образом, сохраните программу и запустите ее, нажав клавишу F5 или выбрав пункты Отладка > Начать отладку в строке меню, а затем несколько раз нажмите клавишу TAB.
Элементы управления
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor : Определяет, как элемент будет растягиваться
BackColor : Определяет фоновый цвет элемента
BackgroundImage : Определяет фоновое изображение элемента
ContextMenu : Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor : Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock : Задает расположение элемента на форме
Enabled : Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font : Устанавливает шрифт текста для элемента
ForeColor : Определяет цвет шрифта
Location : Определяет координаты верхнего левого угла элемента управления
Name : Имя элемента управления
Size : Определяет размер элемента
Width : ширина элемента
Height : высота элемента
TabIndex : Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag : Позволяет сохранять значение, ассоциированное с этим элементом управления
Кнопка
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Изображение на кнопке
Overlay : текст накладывается на изображение
ImageAboveText : изображение располагается над текстом
TextAboveImage : текст располагается над изображением
ImageBeforeText : изображение располагается перед текстом
TextBeforeImage : текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
Клавиши быстрого доступа
Кнопки по умолчанию
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Практическое руководство. Добавление элементов управления в формы Windows Forms.
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем. дополнительные сведения об элементах управления см. в разделе элементы управления Windows Forms.
Рисование элемента управления в форме
Откройте форму. дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе.
В области элементов щелкните элемент управления, который необходимо добавить в форму.
В форме щелкните место, где должен располагаться левый верхний угол элемента управления, и перетащите его в то место, где должен располагаться правый нижний угол элемента управления.
Элемент управления добавляется в форму с указанными расположением и размером.
Для каждого элемента управления определен размер по умолчанию. Можно добавить элемент управления в форму в размер элемента управления по умолчанию, перетащив его из области элементов в форму.
Перетаскивание элемента управления в форму
Откройте форму. дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе.
На панели элементов щелкните нужный элемент управления и перетащите его в форму.
Элемент управления добавляется в форму в указанном расположении в его размер по умолчанию.
Кроме того, можно динамически добавлять элементы управления в форму во время выполнения. В следующем примере кода TextBox элемент управления будет добавлен в форму при Button щелчке элемента управления.
Добавление элемента управления в форму программным способом
В методе, обрабатывающем событие кнопки Click в классе формы, вставьте код, аналогичный приведенному ниже, чтобы добавить ссылку на переменную элемента управления, задать элемент управления Location и добавить элемент управления.
Можно также добавить код для инициализации других свойств элемента управления.
Элементы управления
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor : Определяет, как элемент будет растягиваться
BackColor : Определяет фоновый цвет элемента
BackgroundImage : Определяет фоновое изображение элемента
ContextMenu : Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor : Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock : Задает расположение элемента на форме
Enabled : Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font : Устанавливает шрифт текста для элемента
ForeColor : Определяет цвет шрифта
Location : Определяет координаты верхнего левого угла элемента управления
Name : Имя элемента управления
Size : Определяет размер элемента
Width : ширина элемента
Height : высота элемента
TabIndex : Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag : Позволяет сохранять значение, ассоциированное с этим элементом управления
Кнопка
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
При нажатии на кнопку на форме в редакторе Visual Studio мы по умолчанию попадаем в код обработчика события Click , который будет выполняться при нажатии:
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Flat — Кнопка имеет плоский вид
Popup — Кнопка приобретает объемный вид при наведении на нее указателя, в иных случаях она имеет плоский вид
Standard — Кнопка имеет объемный вид (используется по умолчанию)
System — Вид кнопки зависит от операционной системы
Изображение на кнопке
Как и для многих элементов управления, для кнопки можно задавать изображение с помощью свойства BackgroundImage. Однако мы можем также управлять размещением текста и изображения на кнопки. Для этого надо использовать свойство TextImageRelation . Оно приобретает следующие значения:
Overlay : текст накладывается на изображение
ImageAboveText : изображение располагается над текстом
TextAboveImage : текст располагается над изображением
ImageBeforeText : изображение располагается перед текстом
TextBeforeImage : текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
В этом окне выберем опцию Local Resource и нажмем на кнопку Import , после чего нам откроется диалоговое окно для выбора файла изображения.
После выбора изображения мы можем установить свойство ImageAlign , которое управляет позиционированием изображения на кнопке:
Нам доступны 9 вариантов, с помощью которых мы можем прикрепить изображение к определенной стороне кнопки. Оставим здесь значение по умолчанию — MiddleCenter , то есть позиционирование по центру.
Затем перейдем к свойству TextImageRelation и установим для него значение ImageBeforeText . В итоге мы получим кнопку, где сразу после изображения идет надпись на кнопке:
Клавиши быстрого доступа
При работе с формами при использовании клавиатуры очень удобно пользоваться клавишами быстрого доступа. При нажатии на клавиатуре комбинации клавиш At+некоторый символ, будет вызываться определенная кнопка. Например, зададим для некоторой кнопки свойство Text равное &Аватар . Первый знак — амперсанд — определяет ту букву, которая будет подчеркнута. В данном случае надпись будет выглядеть как А ватар. И теперь чтобы вызвать событие Click, нам достаточно нажать на комбинацию клавиш Alt+А.
Кнопки по умолчанию
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Аналогично работает свойство формы CancelButton , которое назначает кнопку отмены. Назначив такую кнопку, мы можем вызвать ее нажатие, нажав на клавишу Esc.
How can I create a button programmatically in C# window app?
In the Form1_Load method what code should I write to create a simple button?
So that on Load the button would show.
3 Answers 3
As you said it is Winforms, you can do the following.
First create a new Button object.
Button newButton = new Button();
Then add it to the form inside that function using:
Extra properties you can set.
Your issue you’re running to is that you’re trying to set it on Form_Load event, at that stage the form does not exist yet and your buttons are overwritten. You need a delegate for the Shown or Activated events in order to show the button.
For example inside your Form1 constructor,
Your actual delegate is where you create your button and add it to the form, something like this will work.
Справочник по C#
Если вы столкнулись с проблемой и хотите поделиться своим опытом, знаниями или у вас есть интересная статья с иностранного сайта, предложение новой темы, статью которую Вы хотите видеть в ближайшем будущем, расскажите нам об этом и мы обязательно поделимся этими знаниями со всеми. Возможно, для других ваши знания, опыт и советы окажутся очень ценными и помогут вовремя найти правильный выход или не совершить ошибок.
Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
How can I create a button programmatically in C# window app?
In the Form1_Load method what code should I write to create a simple button?
So that on Load the button would show.
3 Answers 3
As you said it is Winforms, you can do the following.
First create a new Button object.
Button newButton = new Button();
Then add it to the form inside that function using:
Extra properties you can set.
Your issue you’re running to is that you’re trying to set it on Form_Load event, at that stage the form does not exist yet and your buttons are overwritten. You need a delegate for the Shown or Activated events in order to show the button.
For example inside your Form1 constructor,
Your actual delegate is where you create your button and add it to the form, something like this will work.
Как добавить кнопки на форму с
Доброго времени суток! Этот урок, как я и обещал ранее, будет сугубо практическим. В нем, мы закрепим основные знания, необходимые для использования форм, кнопок, текстовых надписей и полей ввода текста. И так, к делу!
В первую очередь создадим новый проект приложения с графическим интерфейсом пользователя (как это делается, я рассказывал в Уроке № 26).
Теперь давайте зададим осмысленное имя главной форме и файлу в котором содержится класс, связанный с ней. Для этого идем в обозреватель решений и вызываем контекстное меню на элементе, отвечающем за представление формы. Как показано на рисунке ниже.
Переименование формы и класса, связанного с ней в Visual Studio
После чего вводим в поле редактирования тест «MianForm» нажимаем клавишу Enter. В появившемся сообщении нажимаем кнопку «Да», как показано на рисунке ниже.
Подтверждение переименования формы и связанных с ней файлов
Теперь давайте настроим нашу форму. А точнее добьемся следующего:
- зададим стиль рамки формы (свойству FormBorderStyleзададим значение FixedSingle), запретим изменение размеров окна;
- уберем кнопку разворачивания она на весь экран (свойству MaximizeBox зададим значение false);
- зададим размер формы (свойству Sizeустановим значение [500;300]);
- зададим начальное положение формы по центру экрана (свойству StartPositionзададим значение CenterScreen);
- и зададим заголовок окна (для этого свойству Text зададим значение «Практика, часть 1″).
Результат установки значений свойствам формы, показан на рисунке ниже.
Установленные значения свойств формы
Теперь можно собрать проект и запустить приложение, в результате, Вы должны увидеть примерно такое окно:
Промежуточный результат № 1
Теперь, давайте перенесем на форму (в дизайнере) одну кнопку, одну текстовую надпись и одно поле ввода текста, и разместим их на форме примерно так, как показано на рисунке ниже.
Форма, с перенесенными с панели элементов компонентами графического интерфейса
А теперь, установим определенным свойствам этих элементам значения, приведенные в таблицах, представленных ниже.
Свойства текстовой надписи (Lable):
Свойство | Значение |
---|---|
Name | MainLbl |
BorderStyle | FixedSingle |
Size | 415; 20 |
TextAlign | MiddleCenter |
Свойства поля ввода текста (TextBox):
Свойство | Значение |
---|---|
Name | MainTB |
Size | 415; 20 |
Свойства кнопки (Button):
Свойство | Значение |
---|---|
Name | SetTextBtn |
Size | 415; 23 |
Text | Установить текст |
В результате, Вы должны получить примерно следующее:
Главная форма приложения, после установки значений нужным свойствам
А теперь, давайте добавим обработчик события «Click» для кнопки (как создавать обработчики событий я рассказывал в уроке №). И «заполним»обработчик таким образом:
Таким образом, мы присваиваем свойству «Text» текстовой надписи значение свойств «Text» поля ввода текста. Теперь можете собрать проект и запустить приложение. Попробуйте ввести текст в поле ввода и нажать на кнопку «Установить текст», и Вы увидите, как текст из поля ввода выведется на текстовой надписи.
Контейнеры в Windows Forms
Для организации элементов управления в связанные группы существуют специальные элементы — контейнеры. Например, Panel, FlowLayoutPanel, SplitContainer, GroupBox. Ту же форму также можно отнести к контейнерам. Использование контейнеров облегчает управление элементами, а также придает форме определенный визуальный стиль.
Все контейнеры имеют свойство Controls , которое содержит все элементы данного контейнера. Когда мы переносим какой-нибудь элемент с панели инструментов на контейнер, например, кнопку, она автоматически добавляется в данную коллекцию данного контейнера. Либо мы также можем добавить элемент управления динамически с помощью кода в эту же коллекцию.
Динамическое добавление элементов
Добавим на форму кнопку динамически. Для этого добавим событие загрузки формы, в котором будет создаваться новый элемент управления. Это можно сделать либо с помощью кода, либо визуальным образом.
С помощью перетаскивания элементов с Панели Инструментов мы можем легко добавить новые элементы на форму. Однако такой способ довольно ограничен, поскольку очень часто требуется динамически создавать (удалять) элементы на форме.
Для динамического добавления элементов создадим обработчик события загрузки формы в файле кода:
Теперь добавим в него код добавления кнопки на форму:
Сначала мы создаем кнопку и устанавливаем ее свойства. Затем, используя метод Controls.Add мы добавляем ее в коллекцию элементов формы. Если бы мы это не сделали, мы бы кнопку не увидели, поскольку в этом случае для нашей формы ее просто не существовало бы.
С помощью метода Controls.Remove() можно удалить ранее добавленный элемент с формы:
Хотя в данном случае в качестве контейнера использовалась форма, но при добавлении и удалении элементов с любого другого контейнера, например, GroupBox, будет применяться все те же методы.
Как добавить кнопки на форму с
Эта статья помогает программным образом добавлять и настраивать элементы управления в форме Windows с помощью Visual C#.
Оригинальная версия продукта: Visual C #
Исходный номер КБ: 319266
Сводка
В этой пошаговой статье показано, как программировать добавление и настройку нескольких часто используемых элементов управления в Windows форме. Обработка событий была пропущена из примера кода.
Требования
В этой статье предполагается, что вы знакомы со следующими разделами:
Создание приложения Windows Forms
Дважды щелкните Form1 для создания и просмотра Form1_Load процедуры события.
Добавьте переменные частных экземпляров в класс для работы с Form1 общими Windows управления. Класс Form1 начинается следующим образом:
Код следует изменить в Visual Studio. При создании проекта Windows Forms visual C# по умолчанию добавляет одну форму в проект. Эта форма называется Form1. Два файла, которые представляют форму, называются Form1.cs и Form1.designer.cs. Вы пишете код в Form1.cs. Файл Designer.cs — это Windows конструктор форм, который реализует все действия, выполняемые путем добавления элементов управления. Дополнительные сведения о конструкторе Windows форм в visual C# см. в Project (Visual C#).
Настройка свойств формы и управления
Найдите процедуру события и добавьте в процедуру следующий код, чтобы настроить внешний вид Form1_Load управления формой:
Добавьте следующий код в процедуру события, чтобы настроить внешний вид кнопки Form1_Load управления:
Добавьте следующий код, чтобы настроить внешний вид управления TextBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления ListBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления CheckBox Form1_Load в:
Добавьте следующий код, чтобы настроить внешний вид управления Меткой Form1_Load в:
Добавление элементов управления в форму
Добавьте следующий код, чтобы добавить каждый объект в массив формы в Controls Form1_Load конце:
Убедитесь, что он работает
Чтобы убедиться, что пример работает, выберите Пуск в меню Отлаговка.
Ссылки
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем.
Основной способ добавления элемента управления в форму — с помощью конструктора Visual Studio, но вы также можете управлять элементами управления в форме во время выполнения с помощью кода.
Добавление с помощью конструктора
Для создания форм в Visual Studio используется конструктор форм. На панели «Элементы управления» представлен список всех элементов управления, доступных для приложения. Элементы управления можно добавлять с панели двумя способами:
Добавление элемента управления двойным щелчком
При двойном щелчке элемента управления он автоматически добавляется в текущую открытую форму с параметрами по умолчанию.
Добавление элемента управления путем рисования
Выберите элемент управления, щелкнув его. В форме выберите область путем перетаскивания указателя мыши. Элемент управления будет помещен в соответствии с размером выбранного региона.
Добавление с помощью кода
Элементы управления можно создавать и добавлять в форму во время выполнения с помощью коллекции Controls формы. Эту коллекцию можно также использовать для удаления элементов управления из формы.
Следующий код добавляет и размещает два элемента управления, Label и TextBox:
Шаг 1. Создание проекта и добавление в форму элементов управления Label
Первые шаги разработки этой головоломки предполагают создание проекта, добавление меток, кнопки и других элементов управления в форму. Также вам предстоит задать свойства для каждого добавляемого элемента управления. Проект будет содержать форму, элементы управления и добавленный в следующих уроках учебника код. Кнопка запускает головоломку, метки служат для отображения задач, входящих в головоломку, а остальные элементы управления служат для отображения ответов и времени, оставшегося на решение головоломки.
Этот раздел входит в серию учебников, посвященных основам написания кода. Общие сведения об учебнике см. в разделе Руководство 2. Создание ограниченной по времени математической головоломки.
Создание проекта для формы
В строке меню щелкните Файл > Создать > Проект.
Выберите Visual C# или Visual Basic в левой области диалогового окна Новый проект, а затем — Классическое приложение Windows.
В списке шаблонов выберите шаблон Приложение Windows Forms (.NET Framework), назовите его MathQuiz, а затем нажмите кнопку ОК.
Появится форма с именем Form1.cs или Form1.vb, в зависимости от выбранного языка программирования.
Дополнительные сведения см. в разделе Установка Visual Studio.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите Windows Forms. Затем в списке Тип проекта выберите Рабочий стол.
Применив фильтр Тип проекта, выберите шаблон Приложение Windows Forms (.NET Framework) для C# или Visual Basic и нажмите кнопку Далее.
Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку.
В поле Имя проекта окна Настроить новый проект введите MathQuiz. Затем нажмите Создать.
Задание свойств формы
В Visual Studio выберите форму (Form1.cs или Form1.vb, в зависимости от используемого языка программирования), а затем измените ее свойство Text на Математическая головоломка.
Окно Свойства содержит свойства формы.
Измените размер формы на 500 пикселей в ширину и 400 пикселей в высоту.
Изменить размер формы можно, перетаскивая ее границы до тех пор, пока в левом нижнем углу интегрированной среды разработки не появится нужный размер. Другой вариант — изменить значения свойства Size.
Измените значение свойства FormBorderStyle на Fixed3D, а свойству MaximizeBox установите значение False.
Эти значения не позволят игрокам изменять размеры формы.
Создание поля «Оставшееся время»
Добавьте элемент управления Label из панели элементов, затем установите для его свойства (Name) значение timeLabel.
Эта метка станет полем в правом верхнем углу формы, в котором будет отображаться количество секунд, оставшихся на решение головоломки.
Измените значение свойства AutoSize на False, чтобы можно было изменить размер поля.
Измените значение свойства BorderStyle на FixedSingle для отрисовки линии вокруг поля.
Установите значение свойства Size равным 200, 30.
Переместите метку в правый верхний угол формы, где при этом появятся синие линии-разделители.
Эти линии помогают выравнивать элементы управления в форме.
В окне Свойства выберите свойство Text и нажмите клавишу BACKSPACE, чтобы удалить его значение.
Нажмите знак плюса ( + ) рядом со свойством Font и измените значение свойства Size на 15,75.
Можно изменить несколько свойств шрифта, как показано на снимке экрана ниже.
Добавьте еще один элемент управления Label из панели элементов и установите для его размера шрифта значение 15,75.
Задайте свойству Text значение Оставшееся время.
Переместите метку так, чтобы она находилась чуть левее метки timeLabel.
Добавление элементов управления для задачи на сложение
Добавьте элемент управления Label из панели элементов и установите для его свойства Text значение ? (вопросительный знак).
Задайте свойству AutoSize значение False.
Установите значение свойства Size равным 60, 50.
Установите размер шрифта равным 18.
Установите для свойства TextAlign значение MiddleCenter.
Установите для свойства Location значение 50, 75, чтобы поместить элемент управления в нужное место в форме.
Установите для свойства (Name) значение plusLeftLabel.
Выберите метку plusLeftLabel, а затем либо нажмите клавиши CTRL+C, либо выберите пункт Копировать в меню Правка.
Вставьте метку три раза, нажимая клавиши CTRL+V или выбирая Вставить в меню Правка.
Разместите три новые метки так, чтобы они располагались в ряд справа от метки plusLeftLabel.
Для выравнивания меток и регулировки промежутков между ними можно пользоваться линиями-разделителями.
Установите для свойства Text второй метки значение + (знак плюса).
Установите для свойства (Name) третьей метки значение plusRightLabel.
Установите для свойства Text четвертой метки значение = (знак равенства).
Добавьте элемент управления NumericUpDown из панели элементов, установите его размер шрифта равным 18, а его ширину — равной 100.
Подробнее этот вид элементов управления мы рассмотрим позже.
Выровняйте элемент управления NumericUpDown по элементам управления Label для задачи на сложение.
Измените значение свойства (Name) элемента управления NumericUpDown на sum.
Первая строка создана, как показано на иллюстрации ниже.
Добавление элементов управления для задач на вычитание, умножение и деление
Скопируйте все пять элементов управления для задачи на сложение (четыре элемента управления Label и элемент управления NumericUpDown) и вставьте их.
Теперь форма содержит пять новых элементов управления, которые все еще выбраны.
Переместите все элементы управления так, чтобы выровнять их под элементами управления для сложения.
Для обеспечения достаточного расстояния между строками можно пользоваться линиями-разделителями.
Измените значение свойства Text второй метки на — (знак «минус»).
Назовите первую метку с вопросительным знаком minusLeftLabel.
Назовите вторую метку с вопросительным знаком minusRightLabel.
Присвойте элементу управления NumericUpDown имя difference.
Вставьте эти пять элементов управления еще два раза.
В третьей строке назовите первую метку timesLeftLabel, у второй метки измените значение свойства Text на × (знак умножения), третью метку назовите timesRightLabel, а элемент управления NumericUpDown назовите product.
В четвертой строке назовите первую метку dividedLeftLabel, у второй метки измените значение свойства Text на ÷ (знак деления), третью метку назовите dividedRightLabel, а элемент управления NumericUpDown назовите quotient.
Знак умножения × и знак деления ÷ можно скопировать из этого руководства и вставить их в форму.
Добавление кнопки запуска и задание порядка перехода по клавише TAB
Добавьте элемент управления Button из панели элементов и установите для его свойства (Name) значение startButton.
Задайте свойству Text значение Запуск головоломки.
Установите размер шрифта равным 14.
Установите для свойства AutoSize значение True, которое вызывает автоматическое изменение размера кнопки в зависимости от размера текста.
Разместите кнопку по центру в нижней части формы.
Установите значение свойства TabIndex элемента управления startButton равным 1.
Свойство TabIndex задает порядок перехода по элементам управления при нажатии клавиши TAB. Чтобы увидеть, как это работает, откройте любое диалоговое окно (например, в строке меню выберите Файл > Открыть), а затем несколько раз нажмите клавишу TAB. Вы увидите, что при каждом нажатии клавиши TAB курсор перемещается от одного элемента управления к другому. Порядок этих переходов был задан программистом при создании формы.
Установите значение свойства TabIndex для элемента управления NumericUpDown с именем sum равным 2, для элемента управления difference равным 3, для элемента управления product равным 4, а для элемента управления quotient равным 5.
Теперь форма должна выглядеть как на снимке экрана ниже.
Чтобы проверить, работает ли свойство TabIndex ожидаемым образом, сохраните программу и запустите ее, нажав клавишу F5 или выбрав пункты Отладка > Начать отладку в строке меню, а затем несколько раз нажмите клавишу TAB.
Элементы управления
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor : Определяет, как элемент будет растягиваться
BackColor : Определяет фоновый цвет элемента
BackgroundImage : Определяет фоновое изображение элемента
ContextMenu : Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor : Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock : Задает расположение элемента на форме
Enabled : Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font : Устанавливает шрифт текста для элемента
ForeColor : Определяет цвет шрифта
Location : Определяет координаты верхнего левого угла элемента управления
Name : Имя элемента управления
Size : Определяет размер элемента
Width : ширина элемента
Height : высота элемента
TabIndex : Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag : Позволяет сохранять значение, ассоциированное с этим элементом управления
Кнопка
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Изображение на кнопке
Overlay : текст накладывается на изображение
ImageAboveText : изображение располагается над текстом
TextAboveImage : текст располагается над изображением
ImageBeforeText : изображение располагается перед текстом
TextBeforeImage : текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
Клавиши быстрого доступа
Кнопки по умолчанию
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Практическое руководство. Добавление элементов управления в формы Windows Forms.
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем. дополнительные сведения об элементах управления см. в разделе элементы управления Windows Forms.
Рисование элемента управления в форме
Откройте форму. дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе.
В области элементов щелкните элемент управления, который необходимо добавить в форму.
В форме щелкните место, где должен располагаться левый верхний угол элемента управления, и перетащите его в то место, где должен располагаться правый нижний угол элемента управления.
Элемент управления добавляется в форму с указанными расположением и размером.
Для каждого элемента управления определен размер по умолчанию. Можно добавить элемент управления в форму в размер элемента управления по умолчанию, перетащив его из области элементов в форму.
Перетаскивание элемента управления в форму
Откройте форму. дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе.
На панели элементов щелкните нужный элемент управления и перетащите его в форму.
Элемент управления добавляется в форму в указанном расположении в его размер по умолчанию.
Кроме того, можно динамически добавлять элементы управления в форму во время выполнения. В следующем примере кода TextBox элемент управления будет добавлен в форму при Button щелчке элемента управления.
Добавление элемента управления в форму программным способом
В методе, обрабатывающем событие кнопки Click в классе формы, вставьте код, аналогичный приведенному ниже, чтобы добавить ссылку на переменную элемента управления, задать элемент управления Location и добавить элемент управления.
Можно также добавить код для инициализации других свойств элемента управления.
Элементы управления
Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса Control и поэтому имеют ряд общих свойств:
Anchor : Определяет, как элемент будет растягиваться
BackColor : Определяет фоновый цвет элемента
BackgroundImage : Определяет фоновое изображение элемента
ContextMenu : Контекстное меню, которое открывается при нажатии на элемент правой кнопкой мыши. Задается с помощью элемента ContextMenu
Cursor : Представляет, как будет отображаться курсор мыши при наведении на элемент
Dock : Задает расположение элемента на форме
Enabled : Определяет, будет ли доступен элемент для использования. Если это свойство имеет значение False, то элемент блокируется.
Font : Устанавливает шрифт текста для элемента
ForeColor : Определяет цвет шрифта
Location : Определяет координаты верхнего левого угла элемента управления
Name : Имя элемента управления
Size : Определяет размер элемента
Width : ширина элемента
Height : высота элемента
TabIndex : Определяет порядок обхода элемента по нажатию на клавишу Tab
Tag : Позволяет сохранять значение, ассоциированное с этим элементом управления
Кнопка
Наиболее часто используемым элементом управления является кнопка. Обрабатывая событие нажатия кнопки, мы может производить те или иные действия.
При нажатии на кнопку на форме в редакторе Visual Studio мы по умолчанию попадаем в код обработчика события Click , который будет выполняться при нажатии:
Оформление кнопки
Чтобы управлять внешним отображением кнопки, можно использовать свойство FlatStyle. Оно может принимать следующие значения:
Flat — Кнопка имеет плоский вид
Popup — Кнопка приобретает объемный вид при наведении на нее указателя, в иных случаях она имеет плоский вид
Standard — Кнопка имеет объемный вид (используется по умолчанию)
System — Вид кнопки зависит от операционной системы
Изображение на кнопке
Как и для многих элементов управления, для кнопки можно задавать изображение с помощью свойства BackgroundImage. Однако мы можем также управлять размещением текста и изображения на кнопки. Для этого надо использовать свойство TextImageRelation . Оно приобретает следующие значения:
Overlay : текст накладывается на изображение
ImageAboveText : изображение располагается над текстом
TextAboveImage : текст располагается над изображением
ImageBeforeText : изображение располагается перед текстом
TextBeforeImage : текст располагается перед изображением
Например, установим для кнопки изображение. Для этого выберем кнопку и в окне Свойств нажмем на поле Image (не путать с BackgroundImage). Нам откроется диалоговое окно установи изображения:
В этом окне выберем опцию Local Resource и нажмем на кнопку Import , после чего нам откроется диалоговое окно для выбора файла изображения.
После выбора изображения мы можем установить свойство ImageAlign , которое управляет позиционированием изображения на кнопке:
Нам доступны 9 вариантов, с помощью которых мы можем прикрепить изображение к определенной стороне кнопки. Оставим здесь значение по умолчанию — MiddleCenter , то есть позиционирование по центру.
Затем перейдем к свойству TextImageRelation и установим для него значение ImageBeforeText . В итоге мы получим кнопку, где сразу после изображения идет надпись на кнопке:
Клавиши быстрого доступа
При работе с формами при использовании клавиатуры очень удобно пользоваться клавишами быстрого доступа. При нажатии на клавиатуре комбинации клавиш At+некоторый символ, будет вызываться определенная кнопка. Например, зададим для некоторой кнопки свойство Text равное &Аватар . Первый знак — амперсанд — определяет ту букву, которая будет подчеркнута. В данном случае надпись будет выглядеть как А ватар. И теперь чтобы вызвать событие Click, нам достаточно нажать на комбинацию клавиш Alt+А.
Кнопки по умолчанию
Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.
Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.
Аналогично работает свойство формы CancelButton , которое назначает кнопку отмены. Назначив такую кнопку, мы можем вызвать ее нажатие, нажав на клавишу Esc.
How can I create a button programmatically in C# window app?
In the Form1_Load method what code should I write to create a simple button?
So that on Load the button would show.
3 Answers 3
As you said it is Winforms, you can do the following.
First create a new Button object.
Button newButton = new Button();
Then add it to the form inside that function using:
Extra properties you can set.
Your issue you’re running to is that you’re trying to set it on Form_Load event, at that stage the form does not exist yet and your buttons are overwritten. You need a delegate for the Shown or Activated events in order to show the button.
For example inside your Form1 constructor,
Your actual delegate is where you create your button and add it to the form, something like this will work.
Справочник по C#
Если вы столкнулись с проблемой и хотите поделиться своим опытом, знаниями или у вас есть интересная статья с иностранного сайта, предложение новой темы, статью которую Вы хотите видеть в ближайшем будущем, расскажите нам об этом и мы обязательно поделимся этими знаниями со всеми. Возможно, для других ваши знания, опыт и советы окажутся очень ценными и помогут вовремя найти правильный выход или не совершить ошибок.
Так же если у вас есть предложение о сотрудничестве, пожелания, указать на нарушения сайта или просто сказать слова благодарности, все это вы можете сделать через форму обратной связи. Читать дальше
How can I create a button programmatically in C# window app?
In the Form1_Load method what code should I write to create a simple button?
So that on Load the button would show.
3 Answers 3
As you said it is Winforms, you can do the following.
First create a new Button object.
Button newButton = new Button();
Then add it to the form inside that function using:
Extra properties you can set.
Your issue you’re running to is that you’re trying to set it on Form_Load event, at that stage the form does not exist yet and your buttons are overwritten. You need a delegate for the Shown or Activated events in order to show the button.
For example inside your Form1 constructor,
Your actual delegate is where you create your button and add it to the form, something like this will work.
Как добавить кнопки на форму с
Есть форма она разделена на 2 части. В левой создана кнопка. В правой tablelayoutpanel.При нажатии на кнопку должна заполняться tablelayoutpanel определённым количеством кнопок. К этим кнопкам добавить действие по клику и т.д. Как реализовать?
Проще всего задать все кнопки изначально , добавив их в форму , и скрыть их , в последствии активировать отображение каждой из них и изменять ее свойство программно .
Добавление элемента управления в форму (Windows Forms .NET)
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем.
Основной способ добавления элемента управления в форму — с помощью конструктора Visual Studio, но вы также можете управлять элементами управления в форме во время выполнения с помощью кода.
Документация руководства по классическим приложениям для .NET 6 и .NET 5 (включая .NET Core 3.1) находится в разработке.
Добавление с помощью конструктора
Для создания форм в Visual Studio используется конструктор форм. На панели «Элементы управления» представлен список всех элементов управления, доступных для приложения. Элементы управления можно добавлять с панели двумя способами:
Добавление элемента управления двойным щелчком
При двойном щелчке элемента управления он автоматически добавляется в текущую открытую форму с параметрами по умолчанию.
Добавление элемента управления путем рисования
Выберите элемент управления, щелкнув его. В форме выберите область путем перетаскивания указателя мыши. Элемент управления будет помещен в соответствии с размером выбранного региона.
Добавление с помощью кода
Элементы управления можно создавать и добавлять в форму во время выполнения с помощью коллекции Controls формы. Эту коллекцию можно также использовать для удаления элементов управления из формы.
Следующий код добавляет и размещает два элемента управления, Label и TextBox: