Visual studio добавить элемент на форму

Обновлено: 07.07.2024

Элементы управления представляют собой визуальные классы, которые получают введенные пользователем данные и могут инициировать различные события. Все элементы управления наследуются от класса 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 , которое управляет позиционированием изображения на кнопке:

ImageAlign

Нам доступны 9 вариантов, с помощью которых мы можем прикрепить изображение к определенной стороне кнопки. Оставим здесь значение по умолчанию - MiddleCenter , то есть позиционирование по центру.

Затем перейдем к свойству TextImageRelation и установим для него значение ImageBeforeText . В итоге мы получим кнопку, где сразу после изображения идет надпись на кнопке:

Кнопка с изображением в Windows Forms

Клавиши быстрого доступа

При работе с формами при использовании клавиатуры очень удобно пользоваться клавишами быстрого доступа. При нажатии на клавиатуре комбинации клавиш At+некоторый символ, будет вызываться определенная кнопка. Например, зададим для некоторой кнопки свойство Text равное &Аватар . Первый знак - амперсанд - определяет ту букву, которая будет подчеркнута. В данном случае надпись будет выглядеть как А ватар. И теперь чтобы вызвать событие Click, нам достаточно нажать на комбинацию клавиш Alt+А.

Кнопки по умолчанию

Форма, на которой размещаются все элементы управления, имеет свойства, позволяющие назначать кнопку по умолчанию и кнопку отмены.

Так, свойство формы AcceptButton позволяет назначать кнопку по умолчанию, которая будет срабатывать по нажатию на клавишу Enter.

Аналогично работает свойство формы CancelButton , которое назначает кнопку отмены. Назначив такую кнопку, мы можем вызвать ее нажатие, нажав на клавишу Esc.

Аннотация

В этой пошаговой статье показано, как программировать добавление и настройку нескольких часто используемых элементов управления в Windows форме. Обработка событий была пропущена из примера кода.

Требования

В этой статье предполагается, что вы знакомы со следующими разделами:

Создание приложения Windows Forms

Дважды щелкните Form1 для создания и просмотра Form1_Load процедуры события.

Добавьте переменные частных экземпляров в класс для работы с Form1 общими Windows управления. Класс Form1 начинается следующим образом:

Настройка свойств формы и управления

Найдите процедуру события и добавьте в процедуру следующий код, чтобы настроить внешний вид Form1_Load управления формой:

Добавьте следующий код в процедуру события, чтобы настроить внешний вид кнопки Form1_Load управления:

Добавьте следующий код, чтобы настроить внешний вид управления TextBox Form1_Load в:

Добавьте следующий код, чтобы настроить внешний вид управления ListBox Form1_Load в:

Добавьте следующий код, чтобы настроить внешний вид управления CheckBox Form1_Load в:

Добавьте следующий код, чтобы настроить внешний вид управления Меткой Form1_Load в:

Добавление элементов управления в форму

Добавьте следующий код, чтобы добавить каждый объект в массив формы в Controls Form1_Load конце:

Убедитесь, что он работает

Чтобы убедиться, что пример работает, выберите Пуск в меню Отлаговка.

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

Ссылки

Этот раздел входит в серию учебников, посвященных основам написания кода. Общие сведения об учебнике см. в разделе Руководство 2. Создание ограниченной по времени математической головоломки.

Создание проекта для формы

В строке меню щелкните Файл > Создать > Проект.

Появится форма с именем Form1.cs или Form1.vb, в зависимости от выбранного языка программирования.

Рабочая нагрузка разработки классических приложений .NET в Visual Studio Installer

Дополнительные сведения см. в разделе Установка Visual Studio.

На начальном экране выберите Создать проект.

Просмотр окна "Создание проекта"

В поле поиска окна Создание проекта введите Windows Forms. Затем в списке Тип проекта выберите Рабочий стол.

Рабочая нагрузка .NET Core в Visual Studio Installer

Затем нажмите кнопку Изменить в 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.


Состав панели элементов меняется в зависимости от того, какую платформу вы выбираете для разработки. Например, ниже на рисунке показаны различные варианты Toolbox для трех вариантов проектов: WinForms, WPF и UWP:


По умолчанию в панели элементов (toolbox) появятся только стандартные элементы управления. Например, мы захотим использовать в нашем проекте компоненты Ribbon Controls (как в Office). Для того, чтобы их использовать в своем проекте, мы должны добавить ссылку на них в свой проект. Сделать это можно следующим образом:



Теперь мы можем подключать необходимые пространства имен в наш проект и использовать компоненты в проекте. Однако в панели элементов они не появятся. Для того, чтобы добавить их в панель элементов необходимо выполнить ещё несколько простых действий.

Добавим наши компоненты Ribbon Controls в панель элементов. Элементы могут добавляться как в уже существующие вкладки, так и в новые, созданные нами. Воспользуемся вторым вариантом.





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

Сегодня мы разобрались с вопросом как добавить новые элементы управления в проект и добавить их в панель элементов (toolbox) Visual Studio 2019. Не всегда устанавливаемые элементы управления автоматически отображаются в панели элементов, поэтому иногда требуется воспользоваться их добавлением вручную, используя возможности IDE.

Читайте также: