Дополнительные элементы управления windows forms

Дополнительные элементы управления

Дополнительные элементы управления дополняют стандартный интерфейс Windows. Они делятся на элементы, входящие в состав среды разработки Visual Studio и элементы, разработанные сторонними производителями. Дополнительные элементы управления находятся в специальных файлах, динамически подключаемых в ходе выполнения приложения. В настоящее время разработано достаточное число элементов, специально предназначенных для использования в Visual Studio .Net. Однако пользователь в своих программах может использовать и старые элементы, разработанные для Visual Studio 6 и более ранних версий (т.н. COM- компоненты). Одиночные COM-компоненты хранятся в файлах с расширением .OCX. Новые элементы, а также наборы COM-компонентов, хранятся в файлах динамически подключаемых библиотек с расширением .DLL. В любом случае пользователь при распространении своего приложения должен включать файлы, содержащие используемые элементы, в дистрибутив своего продукта. Обычно файлы с элементами управления располагаются в папке C:\Windows\System.

Часть дополнительных элементов вынесена на панель инструментов Toolbox. Для выноса остальных или нестандартных элементов следует выбрать контекстное меню Choose Items. Данные файлы подключаются к каждому проекту отдельно, при создании нового проекта все настройки сбрасываются.

Дополнительные элементы управления могут быть визуальными или невизуальными. Невизуальные элементы управления во время выполнения приложения не видны.

Рассмотрим некоторые из дополнительных элементов управления.

Элементы OpenFileDialog и SaveFileDialog служат для отображения стандартных диалоговых окон открытия и сохранения файлов. При этом собственно открытия и сохранения файлов не происходит, для этого необходимо писать специальный код. Основные свойства этих элементов:

  • AddExtention – логическое свойство, определяющее, следует ли автоматически добавлять к файлу расширение, если пользователь не укажет его явно;
  • DefaultExt – задает расширение, добавляемое к файлу по умолчанию;
  • CheckFileExists – логическое свойство, позволяющее установить режим, при котором можно вводить только имена существующих файлов. Если значение этого свойства равно Ttue и пользователь вводит некорректное имя файла, то выдается предупреждение;
  • FileName – путь и имя файла, выбранного пользователем. Если диалоговое окно закрыто кнопкой Cancel, то значение этого свойства игнорируется;
  • InitialDirectory – указывает папку с файлами, используемую по умолчанию;
  • Filter – указывает типы файлов, отображаемых в списке расширений, например:

текстовые файлы|*.txt|все файлы|*.*

Основные методы данных элементов:

  • OpenFile – открывает выбранный файл;
  • SaveFile – сохраняет выбранный файл;
  • ShowDialog – отображает диалоговое окно открытия или сохранения файла.

Элемент управления Microsoft FlexGrid (гибкая таблица) позволяет выводить данные в табличной форме, так, как это делается в пакете Excel. Непосредственно данные в ячейки вводить нельзя, поэтому обычно на форму помещают текстовое поле, куда вводят данные, которые затем переносятся в ячейку.

Основные свойства элемента управления MSFlexGrid:

  • Cols и Rows – задают число строк и столбцов в матрице;
  • Col и Row – задают координаты текущего столбца и строки (нумерация начинается с нуля);
  • ColWidth и RowHeight – определяет размеры строк и столбцов;
  • CellAlignment – задает тип выравнивания текста в ячейке;
  • Text – задает текст (значение) текущей ячейки;
  • FixedCols и FixedRows – задают число фиксированных срок и столбцов, значение которых менять нельзя.
Читайте также:  Как определить панель задач windows

Основные события элемента управления MSFlexGrid – Click (генерируется при щелчке по элементу управления мышью) и SelectedChanged (генерируется при смене адреса текущей ячейки).

Существуют модификации данного элемента управления, разработанные программистами-любителями и сторонними фирмами. В частности, имеется элемент управления VSFlexGrid, разработанный фирмой ComponentOne и входящий в систему компонентов специально для архитектуры .Net, где можно не только вводить текст в ячейку, но и менять вид матрицы.

Элемент MonthCalendar используется для ввода и отслеживания дат. Существуют различные версии данного элемента. Основные свойства элемента управления MonthCalendar:

  • MaxDate и MinDate – определяет максимально и минимально допустимую дату;
  • SelectionRange – определяет выбранный диапазон дат. Это составное свойство, имеет два подсвойства: Start – начальная дата и End – конечная дата. Если выбирается только одна дата, то используется только одно подсвойство.
  • ShowTodayCircle – логическое свойство, позволяющее выделить текущую дату кружком;
  • ShowWeeklyNumber – логическое свойство, позволяющее отображать или скрывать номера недель года;
  • TodayDate – определяет текущую дату;
  • MaxSelectioCount – определяет максимальное число дней, которое может быть выбрано пользователем.

Основное событие, связанное с данным элементом – DataChahged, генерируется при смене даты.

Обычно данный элемент занимает много места на форме, поэтому его делают невидимым и вызывают по щелчку специальной кнопки или меню. В этом случае его можно отобразить поверх других элементов. Рассмотрим пример, когда на форме имеется кнопка с изменяемой надписью: «Отобразить календарь» и «Скрыть календарь», и в зависимости от надписи календарь отображается или скрывается. В этом случае необходимо написать для события Click данной кнопки обработчик следующего содержания:

Элементы управления

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

Читайте также:  Для чего windows создает раздел 100

Изображение на кнопке

Как и для многих элементов управления, для кнопки можно задавать изображение с помощью свойства 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.

Практическое руководство. Добавление элементов управления в формы Windows Forms. How to: Add Controls to Windows Forms

Большинство форм разрабатываются путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Most forms are designed by adding controls to the surface of the form to define a user interface (UI). Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем. A control is a component on a form used to display information or accept user input. Дополнительные сведения об элементах управления см. в разделе элементы управления Windows Forms. For more information about controls, see Windows Forms Controls.

Рисование элемента управления в форме To draw a control on a form

Откройте форму. Open the form. Дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе. For more information, see How to: Display Windows Forms in the Designer.

В области элементов щелкните элемент управления, который необходимо добавить в форму. In the Toolbox, click the control you want to add to your form.

В форме щелкните место, где должен располагаться левый верхний угол элемента управления, и перетащите его в то место, где должен располагаться правый нижний угол элемента управления. On the form, click where you want the upper-left corner of the control to be located, and drag to where you want the lower-right corner of the control to be located.

Читайте также:  Эмулятор микрофона windows 10

Элемент управления добавляется в форму с указанными расположением и размером. The control is added to the form with the specified location and size.

Для каждого элемента управления определен размер по умолчанию. Each control has a default size defined. Можно добавить элемент управления в форму в размер элемента управления по умолчанию, перетащив его из области элементов в форму. You can add a control to your form in the control’s default size by dragging it from the Toolbox to the form.

Перетаскивание элемента управления в форму To drag a control to a form

Откройте форму. Open the form. Дополнительные сведения см. в разделе инструкции. отображение Windows Forms в конструкторе. For more information, see How to: Display Windows Forms in the Designer.

На панели элементов щелкните нужный элемент управления и перетащите его в форму. In the Toolbox, click the control you want and drag it to your form.

Элемент управления добавляется в форму в указанном расположении в его размер по умолчанию. The control is added to the form at the specified location in its default size.

Можно дважды щелкнуть элемент управления на панели элементов , чтобы добавить его в левый верхний угол формы в его размер по умолчанию. You can double-click a control in the Toolbox to add it to the upper-left corner of the form in its default size.

Кроме того, можно динамически добавлять элементы управления в форму во время выполнения. You can also add controls dynamically to a form at run time. В следующем примере кода TextBox элемент управления будет добавлен в форму при Button щелчке элемента управления. In the following code example, a TextBox control will be added to the form when a Button control is clicked.

Следующая процедура требует наличия формы с элементом управления Button , Button1 уже размещенным в ней. The following procedure requires the existence of a form with a Button control, Button1 , already placed on it.

Добавление элемента управления в форму программным способом To add a control to a form programmatically

В методе, обрабатывающем событие кнопки Click в классе формы, вставьте код, аналогичный приведенному ниже, чтобы добавить ссылку на переменную элемента управления, задать элемент управления Location и добавить элемент управления. In the method that handles the button’s Click event within your form’s class, insert code similar to the following to add a reference to your control variable, set the control’s Location , and add the control.

Можно также добавить код для инициализации других свойств элемента управления. You can also add code to initialize other properties of the control.

Вы можете предоставить локальному компьютеру угрозу безопасности через сеть, обратившись к вредоносной программе UserControl . You might expose your local computer to a security risk through the network by referencing a malicious UserControl . Это будет проблемой только в случае, если злоумышленник создает вредоносный пользовательский элемент управления, а затем добавляет его в проект по ошибке. This would only be a concern in the case of a malicious person creating a damaging custom control, followed by you mistakenly adding it to your project.

Оцените статью