Лекция 1 введение в windows формы

Solution Explorer

Окно Solution Explorer (проводник проекта, View —> Solution Explorer, или сочетание клавиш Ctrl+Alt +L) содержит компоненты, входящие в состав проекта. Пункты контекстного меню этого окна (вызывающегося нажатием правой кнопки мыши) позволяют изменять содержимое проекта, а также добавлять новые компоненты (рис. 1.6):

Рис.
1.6.
Контекстное меню окна Solution Explorer

При создании нового проекта Solution Explorer содержит компоненты, созданные шаблоном (рис. 1.7).

Рис.
1.7.
Компоненты, входящие в состав нового приложения

Папка References содержит ссылки на классы, используемые в проекте по умолчанию. Двойной щелчок мыши на подпапках References запускает окно Object Browser (проводник объектов, View
—> Object Browser, или сочетание клавиш Ctrl+Alt+J). Окно Object Browser, в свою очередь, является исчерпывающим средством получения информации о свойствах объектов, как абстрактный класс brush наследуется от класса System.MarshalByRefObject и содержит методы Clone, Dispose(bool), Dispose и Finalize (рис рис. 1.8).

Можно получать краткое описание любого метода, класса или свойства, просто щелкнув на нем, — на информационной панели немедленно отобразится краткая справка. Для опытного разработчика Object Browser — незаменимый помощник в работе, гораздо более удобный, чем справка.

Файл App.ico содержит изображение иконки, которое на форме расположено в верхнем левом углу. Более подробно о создании и редактировании иконок — в конце этой лекции.

Файл AssemblyInfo.cs содержит информацию о вашем приложении. При создании дистрибутива (установочного пакета) в этот файл помещается информация программы, используемая в технических целях, а также цифровой ключ.

Class View

Окно Class View — (обзор классов, View —> Class View, или сочетание клавиш Ctrl+Shift+C), позволяет перемещаться в коде по выбранному объекту; содержит методы, классы, данные всего листинга проекта. Для перехода, например, в метод Main щелкаем на соответствующем названии в окне Class View (рис. 1.9).

Properties Window

Окно свойств Properties — основной инструмент настройки формы и ее компонентов. Содержимое этого окна представляет собой весь список свойств выбранного в данный момент компонента или формы. Вызывается это окно несколькими способами — в меню View выбираем пункт Properties Window (или используем клавишу F4), на выбранном объекте щелкаем правой кнопкой мыши и в контекстном меню пункт Properties выбираем объект и нажимаем F4 или просто выбираем объект и переходим в окно Properties. Когда вы только создали проект, в окне Properties отображаются свойства самой формы (рис. 1.10).

В таблице 1.1 приводится описание интерфейса самого окна Properties.

Окно Properties позволяет определять в первую очередь дизайн формы и ее элементов управления. В таблице 1.2 приводится описание некоторых свойств формы, обычно определяемых в режиме дизайна. При выборе значения свойства, отличного от принятого по умолчанию, оно выделяется жирным шрифтом, что облегчает в дальнейшем определение изменений.

Таблица
1.2.
Некоторые свойства формы

Свойство Описание Значение по умолчанию
Name Название формы в проекте. Это не заголовок формы, который вы видите при запуске формы, а название формы внутри проекта, которое вы будете использовать в коде Form1, Form2 и т.д.
AcceptButton Устанавливается значение кнопки, которая будет срабатывать при нажатии клавиши Enter. Для того чтобы это свойство было активным, необходимо наличие по крайней мере одной кнопки, расположенной на форме None
BackColor Цвет формы. Для быстрого просмотра различных вариантов просто щелкайте прямо на названии «BackColor» Control
BackgroundImage Изображение на заднем фоне None
CancelButton Устанавливается значение кнопки, которая будет срабатывать при нажатии клавиши Esc. Для того чтобы это свойство было активным, необходимо наличие по крайней мере одной кнопки, расположенной на форме None
ControlBox Устанавливается наличие либо отсутствие трех стандартных кнопок в верхнем правом углу формы: «Свернуть», «Развернуть» и «Закрыть»
Cursor Определяется вид курсора при его положении на форме Default
DrawGrid Устанавливается наличие либо отсутствие сетки из точек, которая помогает форматировать элементы управления. В любом случае сетка видна только на стадии создания приложения True
Font Форматирование шрифта, используемого для отображения текста на форме в элементах управления Microsoft Sans Serif ; 8,25pt
FormBorderStyle Определение вида границ формы. Возможные варианты:

  • None — форма без границ и строки заголовка;
  • FixedSingle — тонкие границы без возможности изменения размера пользователем;
  • Fixed3D — границы без возможности изменения размера с трехмерным эффектом;
  • FixedDialog — границы без возможности изменения, без иконки приложения;
  • Sizable — обычные границы: пользователь может изменять размер границ;
  • FixedToolWindow — фиксированные границы, имеется только кнопка закрытия формы. Такой вид имеют панели инструментов в приложениях;
  • SizableToolWindow — границы с возможностью изменения размеров, имеется только кнопка закрытия формы
Sizable
Icon Изображение иконки, располагаемой в заголовке формы. Поддерживаются форматы .ico
MaximizeBox Определяется активность стандартной кнопки «Развернуть» в верхнем правом углу формы True
MaximumSize Максимальный размер ширины и высоты формы, задаваемый в пикселях. Форма будет принимать указанный размер при нажатии на стандартную кнопку «Развернуть» 0;0 (Во весь экран)
MinimizeBox Определяется активность стандартной кнопки «Свернуть» в верхнем правом углу формы True
MinimumSize Минимальный размер ширины и высоты формы, задаваемый в пикселях. Форма будет принимать указанный размер при изменении ее границ пользователем (если свойство FormBorderStyle имеет значение по умолчанию Sizable) 0;0
Size Ширина и высота формы 300; 300
StartPosition Определение расположения формы при запуске приложения.
Возможны следующие значения:

  • Manual — форма появляется в верхнем левом углу экрана;
  • CenterScreen — в центре экрана;
  • WindowsDefaultLocation — расположение формы по умолчанию. Если пользователь изменил размеры формы, то при последующем ее запуске она будет иметь тот же самый вид и расположение;
  • WindowsDefaultBounds — границы формы принимают фиксированный размер;
  • CenterParent — в центре родительской формы
WindowsDefaultLocation
Text Заголовок формы. В отличие от свойства Name, именно это название формы, которое не используется в коде Form1, Form 2 и т.д.
WindowState Определение положения формы при запуске. Возможны следующие значения:

  • Normal — форма запускается с размерами, указанными в свойстве Size;
  • Minimized — форма запускается с минимальными размерами, указанными в свойстве MinimumSize;
  • Maximized — форма разворачивается на весь экран
Normal

Кнопка окна свойств Events (События)переключает окно Properties в режим управления обработчиками различных событий (например, мыши, клавиатуры) и одновременно выводит список всех событий компонента. Двойной щелчок мыши в поле значения события генерирует обработчик для него и переключает в режим кода.

Последнее обновление: 25.11.2023

  1. Глава 1. Введение в Windows Forms

    1. Первое приложение с .NET CLI

    2. Первое приложение в Visual Studio

    3. Создание графического приложения

  2. Глава 2. Работа с формами

    1. Основы форм

    2. Основные свойства форм

    3. Добавление форм. Взаимодействие между формами

    4. События в Windows Forms. События формы

    5. Создание непрямоугольных форм. Закрытие формы

  3. Глава 3. Контейнеры в Windows Forms

    1. Динамическое добавление элементов

    2. Элементы GroupBox, Panel и FlowLayoutPanel

    3. TableLayoutPanel

    4. Размеры элементов и их позиционирование в контейнере

    5. Панель вкладок TabControl и SplitContainer

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

    1. Кнопка

    2. Метки и ссылки

    3. Текстовое поле TextBox

    4. Элемент MaskedTextBox

    5. Элементы Radiobutton и CheckBox

    6. ListBox

    7. Элемент ComboBox

    8. Привязка данных в ListBox и ComboBox

    9. Элемент CheckedListBox

    10. Элементы NumericUpDown и DomainUpDown

    11. ImageList

    12. ListView

    13. TreeView

    14. TrackBar, Timer и ProgressBar

    15. DateTimePicker и MonthCalendar

    16. PictureBox

    17. WebBrowser

    18. Элемент NotifyIcon

    19. Окно сообщения MessageBox

    20. OpenFileDialog и SaveFileDialog

    21. FontDialog и ColorDialog

    22. ErrorProvider

  5. Глава 5. Меню и панели инструментов

    1. Панель инструментов ToolStrip

    2. Создание меню MenuStrip

    3. Строка состояния StatusStrip

    4. Контекстное меню ContextMenuStrip

  6. Глава 6. Привязка и паттерн Model-View-ViewModel

    1. Введение в привязку. Форматирование значения привязки

    2. Привязка объектов. Интерфейс INotifyPropertyChanged

    3. DataContext

    4. Паттерн Model-View-ViewModel

    5. Команды и взаимодействие с пользователем в MVVM

    6. Параметры команды

  • Глава 1. Введение в Windows Forms
    • Первое приложение с .NET CLI
    • Первое приложение в Visual Studio
    • Создание графического приложения
  • Глава 2. Работа с формами
    • Основы форм
    • Основные свойства форм
    • Добавление форм. Взаимодействие между формами
    • События в Windows Forms. События формы
    • Создание непрямоугольных форм. Закрытие формы
  • Глава 3. Контейнеры в Windows Forms
    • Динамическое добавление элементов
    • Элементы GroupBox, Panel и FlowLayoutPanel
    • TableLayoutPanel
    • Размеры элементов и их позиционирование в контейнере
    • Панель вкладок TabControl и SplitContainer
  • Глава 4. Элементы управления
    • Кнопка
    • Метки и ссылки
    • Текстовое поле TextBox
    • Элемент MaskedTextBox
    • Элементы Radiobutton и CheckBox
    • ListBox
    • Элемент ComboBox
    • Привязка данных в ListBox и ComboBox
    • Элемент CheckedListBox
    • Элементы NumericUpDown и DomainUpDown
    • ImageList
    • ListView
    • TreeView
    • TrackBar, Timer и ProgressBar
    • DateTimePicker и MonthCalendar
    • PictureBox
    • WebBrowser
    • Элемент NotifyIcon
    • Окно сообщения MessageBox
    • OpenFileDialog и SaveFileDialog
    • FontDialog и ColorDialog
    • ErrorProvider
  • Глава 5. Меню и панели инструментов
    • Панель инструментов ToolStrip
    • Создание меню MenuStrip
    • Строка состояния StatusStrip
    • Контекстное меню ContextMenuStrip
  • Глава 6. Привязка и паттерн Model-View-ViewModel
    • Введение в привязку. Форматирование значения привязки
    • Привязка объектов. Интерфейс INotifyPropertyChanged
    • DataContext
    • Паттерн Model-View-ViewModel
    • Команды и взаимодействие с пользователем в MVVM
    • Параметры команды

Помощь сайту

Номер карты:

4048415020898850

1.

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

2.

Введение в Windows Forms
• Для создания графических интерфейсов с
помощью платформы .NET применяются
разные технологии — Window Forms, WPF,
приложения для магазина Windows Store
(для ОС Windows 8/8.1/10).
• Однако наиболее простой и удобной
платформой до сих пор остается Window
Forms или формы.

3.

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

4.

• Если запустить приложение, то отобразится
одна пустая форма.
• Проект с пустой формой имеет несколько
компонентов:

5.

• Стартовой точкой входа в графическое
приложение является класс Program,
расположенный в файле Program.cs:

6.

• С помощью
специального
окна Properties
(Свойства)
справа Visual
Studio
предоставляет
удобный
интерфейс для
управления
свойствами
элемента:

7.

Основные свойства:
• Name: устанавливает имя формы — точнее имя
класса, который наследуется от класса Form
• BackColor: указывает на фоновый цвет формы.
Щелкнув на это свойство, мы сможем выбрать
тот цвет, который нам подходит из списка
предложенных цветов или цветовой палитры
• BackgroundImage: указывает на фоновое
изображение формы
• BackgroundImageLayout: определяет, как
изображение, заданное в свойстве
BackgroundImage, будет располагаться на
форме.

8.

Основные свойства:
• ControlBox: указывает, отображается ли меню
формы. В данном случае под меню
понимается меню самого верхнего уровня, где
находятся иконка приложения, заголовок
формы, а также кнопки минимизации формы
и крестик. Если данное свойство имеет
значение false, то мы не увидим ни иконку, ни
крестика, с помощью которого обычно
закрывается форма
• Cursor: определяет тип курсора, который
используется на форме

9.

Основные свойства:
• Enabled: если данное свойство имеет значение
false, то она не сможет получать ввод от
пользователя, то есть мы не сможем нажать на
кнопки, ввести текст в текстовые поля и т.д.
• Font: задает шрифт для всей формы и всех
помещенных на нее элементов управления.
Однако, задав у элементов формы свой шрифт,
мы можем тем самым переопределить его
• ForeColor: цвет шрифта на форме

10.

Основные свойства:
• FormBorderStyle: указывает, как будет
отображаться граница формы и строка
заголовка. Устанавливая данное свойство в
None можно создавать внешний вид
приложения произвольной формы
• HelpButton: указывает, отображается ли
кнопка справки формы
• Icon: задает иконку формы
• Location: определяет положение
по отношению к верхнему левому углу экрана,
если для свойства StartPosition установлено
значение Manual

11.

Основные свойства:
• MaximizeBox: указывает, будет ли доступна
кнопка максимизации окна в заголовке формы
• MinimizeBox: указывает, будет ли доступна
кнопка минимизации окна
• MaximumSize: задает максимальный размер
формы
• MinimumSize: задает минимальный размер
формы
• Opacity: задает прозрачность формы

12.

Основные свойства:
• Size: определяет начальный размер формы
• StartPosition: указывает на начальную
позицию, с которой форма появляется на
экране
• Text: определяет заголовок формы
• TopMost: если данное свойство имеет
значение true, то форма всегда будет
находиться поверх других окон

13.

Основные свойства:
• Visible: видима ли форма, если мы хотим
скрыть форму от пользователя, то можем
задать данному свойству значение false
• WindowState: указывает, в каком состоянии
форма будет находиться при запуске: в
нормальном, максимизированном или
минимизированном

14.

• Чтобы
добавить еще
одну форму в
проект,
нажмем на
имя проекта в
окне Solution
Explorer
(Обозреватель
решений)
правой
кнопкой мыши
и выберем
Add(Добавить)>Windows
Form…

15.

Элемент GroupBox
• GroupBox представляет собой специальный
контейнер, который ограничен от
остальной формы границей.
• Он имеет заголовок, который
устанавливается через свойство Text.
• Чтобы сделать GroupBox без заголовка, в
качестве значения свойства Text просто
устанавливается пустая строка.

16.

Элемент GroupBox
• Нередко этот элемент используется для
группирования переключателей элементов RadioButton, так как позволяет
разграничить их группы.

17.

Элемент Panel
• Элемент Panel представляет панель и также,
как и GroupBox, объединяет элементы в
группы.
• Она может визуально сливаться с остальной
формой, если она имеет то же значение цвета
фона в свойстве BackColor, что и форма.
• Чтобы ее выделить можно кроме цвета
указать для элемента границы с помощью
свойства BorderStyle, которое по умолчанию
имеет значение None, то есть отсутствие
границ.

18.

Элемент Panel
• Также если панель имеет много элементов,
которые выходят за ее границы, мы можем
сделать прокручиваемую панель, установив
ее свойство AutoScroll в true

19.

Элемент FlowLayoutPanel
• Элемент FlowLayoutPanel является
унаследован от класса Panel, и поэтому
наследует все его свойства.
• Однако при этом добавляя
дополнительную функциональность.
• Так, этот элемент позволяет изменять
позиционирование и компоновку дочерних
элементов при изменении размеров формы
во время выполнения программы.

20.

Элемент FlowLayoutPanel
• Свойство элемента FlowDirection позволяет
задать направление, в котором направлены
дочерние элементы.
• По умолчанию имеет значение LeftToRight то есть элементы будут располагаться
начиная от левого верхнего края.
• Следующие элементы будут идти вправо.

21.

Элемент FlowLayoutPanel
• Это свойство также может принимать
следующие значения:
– RightToLeft — элементы располагаются от
правого верхнего угла в левую сторону
– TopDown — элементы располагаются от левого
верхнего угла и идут вниз
– BottomUp — элементы располагаются от левого
нижнего угла и идут вверх

22.

23.

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

24.

• Чтобы установить нужное число строки
столбцов таблицы, мы можем использовать
свойства Rows и Columns соответственно.
• Выбрав один из этих пунктов в окне Properties
(Свойства), отобразится следующее окно для
настройки столбцов и строк

25.

• В поле Size Type можно указать размер
столбцов / строк. Нам доступны три
возможные варианта:
– Absolute: задается абсолютный размер для строк
или столбцов в пикселях
– Percent: задается относительный размер в
процентах. Если нам надо создать резиновый
дизайн формы, чтобы ее строки и столбцы, а также
элементы управления в ячейках таблицы
автоматически масштабировались при изменении
размеров формы, то нам нужно использовать
именно эту опцию
– AutoSize: высота строк и ширина столбцов задается
автоматически в зависимости от размера самой
большой в строке или столбце ячейки

26.

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

27.

• В этом диалоговом окне мы также можем
добавить или удалить строки и столбцы.
• В тоже время графический дизайнер в Visual
Studio не всегда сразу отображает изменения в
таблице — добавление или удаление строк и
столбцов, изменение их размеров, поэтому,
если изменений на форме никаких не
происходит, надо ее закрыть и потом открыть
заново в графическом дизайнере.

28.

• Для каждого элемента управления мы
можем определить свойство Location,
которое задает координаты верхнего
левого угла элемента относительно
контейнера.
• При переносе элемента с панели
инструментов на форму это свойство
устанавливается автоматически.

29.

• В окне Свойств можно вручную поправить
координаты положения элемента:

30.

• С помощью свойства Size можно задать
размеры элемента:

31.

• Дополнительные возможности по
позиционировании элемента позволяет
определить свойство Anchor.
• Это свойство определяет расстояние между
одной из сторон элемента и стороной
контейнера.
• И если при работе с контейнером мы будем
его растягивать, то вместе с ним будет
растягиваться и вложенный элемент.

32.

• По умолчанию у каждого добавляемого
элемента это свойство равно Top, Left:

33.

• Можно задать четыре возможных значения
для этого свойства или их комбинацию:
– Top
– Bottom
– Left
– Right

34.

• Свойство Dock позволяет прикрепить
элемент к определенной стороне
контейнера.
• По умолчанию оно имеет значение None,
но также позволяет задать еще пять
значений:

35.

• Top: элемент прижимается к верхней границе
контейнера
• Bottom: элемент прижимается к нижней
границе контейнера
• Left: элемент прижимается к левой стороне
контейнера
• Right: элемент прикрепляется к правой
стороне контейнера
• Fill: элемент заполняет все пространство
контейнера

36.

• Элемент TabControl позволяет создать
элемент управления с несколькими
вкладками.
• И каждая вкладка будет хранить некоторый
набор других элементов управления, как
кнопки, текстовые поля и др.
• Каждая вкладка представлена
классом TabPage.

37.

• Чтобы настроить вкладки элемента
TabControl используем свойство TabPages.
• При переносе элемента TabControl с панели
инструментов на форму по умолчанию
создаются две вкладки — tabPage1 и
tabPage2.

38.

• Изменим их отображение с помощью
свойства TabPages:

39.

Окно редактирования/добавления и
удаления вкладок

40.

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

41.

• Элемент SplitContainer позволяет создавать
две разделенные сплитером панели.
• Изменяя положение сплитера, можно
изменить размеры этих панелей.

42.

• Элементы управления представляют собой
визуальные классы, которые получают
введенные пользователем данные и могут
инициировать различные события.
• Все элементы управления наследуются от
класса Control и поэтому имеют ряд общих
свойств

43.

Свойства
• Anchor: Определяет, как элемент будет
растягиваться
• BackColor: Определяет фоновый цвет элемента
• BackgroundImage: Определяет фоновое
изображение элемента
• ContextMenu: Контекстное меню, которое
открывается при нажатии на элемент правой
кнопкой мыши. Задается с помощью элемента
ContextMenu

44.

Свойства
• Cursor: Представляет, как будет отображаться
курсор мыши при наведении на элемент
• Dock: Задает расположение элемента на
форме
• Enabled: Определяет, будет ли доступен
элемент для использования. Если это свойство
имеет значение False, то элемент блокируется.
• Font: Устанавливает шрифт текста для
элемента
• ForeColor: Определяет цвет шрифта

45.

Свойства
• Location: Определяет координаты верхнего
левого угла элемента управления
• Name: Имя элемента управления
• Size: Определяет размер элемента
• Width: ширина элемента
• Height: высота элемента
• TabIndex: Определяет порядок обхода
элемента по нажатию на клавишу Tab
• Tag: Позволяет сохранять значение,
ассоциированное с этим элементом
управления

46.

• Наиболее часто используемым элементом
управления является кнопка.
• Обрабатывая событие нажатия кнопки, мы
может производить те или иные действия.
• При нажатии на кнопку на форме в
редакторе Visual Studio мы по умолчанию
попадаем в код обработчика события Click,
который будет выполняться при нажатии

47.

• Чтобы управлять внешним отображением
кнопки, можно использовать
свойство FlatStyle.
• Оно может принимать следующие значения:
– Flat — Кнопка имеет плоский вид
– Popup — Кнопка приобретает объемный вид при
наведении на нее указателя, в иных случаях она
имеет плоский вид
– Standard — Кнопка имеет объемный вид
(используется по умолчанию)
– System — Вид кнопки зависит от операционной
системы

48.

• Как и для многих элементов управления, для
кнопки можно задавать изображение с помощью
свойства BackgroundImage.
• Можно также управлять размещением текста и
изображения на кнопки.
• Для этого надо использовать
свойство TextImageRelation.
• Оно приобретает следующие значения:
– Overlay: текст накладывается на изображение
– ImageAboveText: изображение располагается над
текстом
– TextAboveImage: текст располагается над
изображением
– ImageBeforeText: изображение располагается перед
текстом
– TextBeforeImage: текст располагается перед
изображением

49.

Label
• Для отображения простого текста на форме,
доступного только для чтения, служит
элемент Label.
• Чтобы задать отображаемый текст метки,
надо установить свойство Text элемента.

50.

LinkLabel
• Особый тип меток представляют элементы
LinkLabel, которые предназначены для вывода
ссылок, которые аналогичны ссылкам,
размещенным на стандартных веб-станиц.
• Также, как и с обычными ссылками на вебстраницах, мы можем по отношению к данному
элементу определить три цвета:
– Свойство ActiveLinkColor задает цвет ссылки при
нажатии
– Свойство LinkColor задает цвет ссылки до нажатия, по
которой еще не было переходов
– Свойство VisitedLinkColor задает цвет ссылки, по
которой уже были переходы

51.

• Кроме цвета ссылки для данного элемента мы
можем задать свойство LinkBehavior, которое
управляет поведением ссылки.
• Это свойство принимает четыре возможных
значения:
– SystemDefault: для ссылки устанавливаются
системные настройки
– AlwaysUnderline: ссылка всегда подчеркивается
– HoverUnderline: ссылка подчеркивается только при
наведении на нее курсора мыши
– NeverUnderline: ссылка никогда не подчеркивается

52.

Текстовое поле TextBox
• Для ввода и редактирования текста
предназначены текстовые поля — элемент
TextBox.
• Так же как и у элемента Label текст
элемента TextBox можно установить или
получить с помощью свойства Text.

53.

Текстовое поле TextBox
• По умолчанию при переносе элемента с
панели инструментов создается однострочное
текстовое поле.
• Для отображения больших объемов
информации в текстовом поле нужно
использовать его свойства Multiline и
ScrollBars.
• При установке для свойства Multiline значения
true, все избыточные символы, которые
выходят за границы поля, будут переноситься
на новую строку.

54.

• Кроме того, можно сделать прокрутку
текстового поля, установив для его
свойства ScrollBars одно из значений:
– None: без прокруток (по умолчанию)
– Horizontal: создает горизонтальную прокрутку при
длине строки, превышающей ширину текстового
поля
– Vertical: создает вертикальную прокрутку, если
строки не помещаются в текстовом поле
– Both: создает вертикальную и горизонтальную
прокрутку

55.

Элемент MaskedTextBox
• Элемент MaskedTextBox по сути
представляет обычное текстовое поле.
• Однако данные элемент позволяет
контролировать ввод пользователя и
проверять его автоматически на наличие
ошибок.

56.

CheckBox
• Элемент CheckBox или флажок
предназначен для установки одного из двух
значений: отмечен или не отмечен.
• Чтобы отметить флажок, надо установить у
его свойства Checked значение true.

57.

CheckBox
• Кроме свойства Checked у элемента
CheckBox имеется свойство CheckState,
которое позволяет задать для флажка одно
из трех состояний — Checked (отмечен),
Indeterminate (флажок не определен отмечен, но находится в неактивном
состоянии) и Unchecked (не отмечен)

58.

Radiobutton
• На элемент CheckBox похож элемент
RadioButton или переключатель.
• Переключатели располагаются группами, и
включение одного переключателя означает
отключение всех остальных.
• Чтобы установить у переключателя
включенное состояние, надо присвоить его
свойству Checked значение true.

59.

Radiobutton
• Для создания группы переключателей, из
которых можно бы было выбирать, надо
поместить несколько переключателей в
какой-нибудь контейнер, например, в
элементы GroupBox или Panel.
• Переключатели. находящиеся в разных
контейнерах, будут относиться к разным
группам

60.

ListBox
• Элемент ListBox представляет собой
простой список.
• Ключевым свойством этого элемента
является свойство Items, которое как раз и
хранит набор всех элементов списка.

61.

ListBox
• Элемент ListBox представляет собой простой список.
• Ключевым свойством этого элемента является
свойство Items, которое как раз и хранит набор всех
элементов списка.
• Элементы в список могут добавляться как во время
разработки, так и программным способом. В Visual
Studio в окне Properties (Свойства) для элемента
ListBox мы можем найти свойство Items. После
двойного щелчка на свойство нам отобразится окно
для добавления элементов в список:

62.

Элемент ComboBox
• Элемент ComboBox образует выпадающий
список и совмещает функциональность
компонентов ListBox и TextBox.
• Для хранения элементов списка в
ComboBox также предназначено
свойство Items.

63.

Элемент ComboBox
• Подобным образом, как и с ListBox, мы
можем в окне свойств на свойство Items и
нам отобразится окно для добавления
элементов ComboBox:

64.

Элемент CheckedListBox
• Элемент CheckedListBox представляет
симбиоз компонентов ListBox и CheckBox.
• Для каждого элемента такого списка
определено специальное поле CheckBox,
которое можно отметить.

65.

Элемент CheckedListBox
• Все элементы задаются в CheckedListBox
задаются в свойстве Items.
• Также, как и для элементов ListBox и
ComboBox, мы можем задать набор
элементов.
• По умолчанию для каждого добавляемого
нового элемента флажок не отмечен:

66.

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

67.

NumericUpDown
• Элемент NumericUpDown представляет
пользователю выбор числа из
определенного диапазона.
• Для определения диапазона чисел для
выбора NumericUpDown имеет два
свойства: Minimum (задает минимальное
число) и Maximum (задает максимальное
число).

68.

• Само значение элемента хранится в
свойстве Value:

69.

• По умолчанию элемент отображает
десятичные числа.
• Однако если мы установим его
свойство Hexadecimal равным true, то
элемент будет отображать все числа в
шестнадцатеричной системе.

70.

DomainUpDown
• Элемент DomainUpDown предназначен для
ввода текстовой информации.
• Он имеет текстовое поле для ввода строки
и две стрелки для перемещения по списку
строк:

71.

• Список для DomainUpDown задается с
помощью свойства Items. Список можно сразу
упорядочить по алфавиту. Для этого надо
свойству Sorted присвоить значение true.
• Чтобы можно было циклично перемещаться
по списку, то есть при достижении конца или
начала списка его просмотр начинался с
первого или последнего элемента, надо
установить для свойства Wrap значение true.

72.

ImageList
• ImageList не является визуальным
элементом управления, однако он
представляет компонент, который
используется элементами управления.
• Он определяет набор изображений,
который могут использовать такие
элементы, как ListView или TreeView.

73.

ImageList
• Чтобы его добавить в проект, его также
можно перенести на форму с Панели
Инструментов:

74.

• Так как компонент не является визуальным
элементом, то мы увидим его под формой.
• Ключевым свойством ImageList является
свойство Images, которое задает коллекцию
изображений.

75.

ListView
• Элемент ListView представляет список, но с
более расширенными возможностями, чем
ListBox.
• В ListView можно отображать сложные
данные в различных стобцах, можно
задавать данным изображения и
пиктограммы.

76.

• Все элементы, как и в других списковых
визуальных компонентах, задаются с
помощью свойства Items.
• Но в отличие от ListBox или ComboBox, если
мы через панель Свойств откроем окно
редактирования элементов ListView:

77.

78.

TreeView
• TreeView представляет визуальный элемент
в виде дерева.
• Дерево содержит узлы, которые
представляют объекты TreeNode. Узлы
могут содержать другие подузлы и могут
находиться как скрытом, так и в раскрытом
состоянии.
• Все узлы содержатся в свойстве Nodes.

79.

Если мы нажем в панели Свойств на
свойство Nodes, то нам откроется окно
редактирования узлов TreeView:

80.

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

81.

Timer
• Timer является компонентом для запуска
действий, повторяющихся через
определенный промежуток времени. Хотя
он не является визуальным элементом, но
его также можно перетащить с Панели
Инструментов на форму:

82.

Индикатор прогресса ProgressBar
• Элемент ProgressBar служит для того, чтобы
дать пользователю информацию о ходе
выполнения какой-либо задачи.

83.

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

84.

MonthCalendar
• С помощью MonthCalendar также можно
выбрать дату, только в данном случае этот
элемент представляет сам календарь,
который не надо раскрывать:

85.

Элемент PictureBox
• PictureBox предназначен для показа изображений.
• Он позволяет отобразить файлы в формате bmp, jpg, gif,
а также метафайлы ищображений и иконки.
• Для установки изображения в PictureBox можно
использовать ряд свойств:
– Image: устанавливает объект типа Image
– ImageLocation: устанавливает путь к изображению на диске
или в интернете
– InitialImage: некоторое начальное изображение, которое
будет отображаться во время загрузки главного
изображения, которое хранится в свойстве Image
– ErrorImage: изображение, которое отображается, если
основное изображение не удалось загрузить в PictureBox

86.

• Чтобы установить изображение в Visual
Studio, надо в панели Свойств PictureBox
выбрать свойство Image.
• В этом случае нам откроется окно импорта
изображения в проект, где мы собственно и
сможем выбрать нужное изображение на
компьютере и установить его для
PictureBox:

87.

88.

Элемент WebBrowser
• WebBrowser предоставляет функции
интернет-браузера, позволяя загружать и
отображать контент из сети интернет.
• В то же время важно понимать, что данный
элемент не является полноценным веббраузером, и возможности по его
настройки и изменению довольно
ограничены.

89.

Элемент NotifyIcon
• Элемент NotifyIcon позволяет задать
значок, который будет отображаться при
запуске приложения в панели задач.

Введение в Windows Forms — пишем первую программу

В данной статье будет рассказано о том как написать простой обработчик событий на C++ для приложения Windows Forms, работающего под управления .NET Framework. Мы создадим простейшую Windows программу, которая вычисляет факториал целого числа. Для написания данной программы Вам понадобится Visual Studio 2008 Express Edition или Professional.

Для начала создадим проект.

Откроем Visual Studio, далее жмем Файл→Создать→Проект, далее выбираем пункт CLR и отмечаем Приложение Windows Forms, даем имя проекта, к примеру factr и жмем Ok.

После того как мы создали проект, должна появиться пустая форма, которая должна выглядеть примерно так:

Справа должна появиться панель элементов, если ее нет, то можно включить ее в меню Вид→Панель Элементов или нажатием горячих клавиш — Ctrl + Alt + X.

На ней расположены различные элементы для вставки в форму, нам понадобятся только элементы Button (Кнопка), Label (Надпись) и TextBox (Текстовое поле). Перетащите на форму три элемента Label, Два элемента TextBox, и одну кнопку (Button), расставьте элементы примерно так:

Теперь нам нужно будет изменить текст надписей для элементов Label и Button и Задать подходящие имена классов для элементов TextBox. Для этого Выделите элемент label1, перейдите в Панель свойств, (обычно она находится под Панелью элементов, если панель выключена, включите ее в меню Вид -> Диспетчер свойств.) и задайте для данного элемента значение атрибута Text как показано на рисунке.

Задайте атрибут Text для всех элементов Label и Кнопки Button аналогичным образом. Наша форма должна принять примерно следующий вид:

Я сделал кнопку развернуть неактивной, так как изменение размеров данной формы испортит ее внешний вид, Вы также можете это сделать, щелкнув левой кнопкой мыши на пустом месте формы и в Панели свойств задать для атрибута MaximizeBox параметр False.

Теперь задайте для текстовых полей (TextBox) Атрибуты Name в Панели Свойств – для первого поля это будет num1, а для второго, соответственно num2. Тем самым мы изменили имена классов для полей TextBox, чуть позднее Вы поймете зачем.

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

Первым делом нужно добавить заголовочный файл fact.h в проект, для этого щелкаем правой кнопкой мыши в Обозревателе решений на папке Заголовочные файлы, далее меню Добавить -> Создать Элемент, вписываем название файла – fact.h и нажимаем Добавить. В данном файле будет содержаться прототип функции для вычисления факториала. Добавляем туда следующий исходный код.

long double fact(int N);

Далее подключаем этот файл к проекту с помощью директивы #include – Открываем файл factr.cpp и добавляем после строчки #include «stdafx.h» следующий код.

#include «fact.h»

Теперь наш заголовочный файл подключен к проекту, далее аналогичным образом создаем файл исходного кода fact.cpp в проект.

В него добавляем саму функцию вычисления факториала целого числа.

#pragma once

#include «stdafx.h»

long double fact(int N)

{

    // если пользователь ввел отрицательное число

    if(N < 0)

        // возвращаем ноль

        return 0;

    // если пользователь ввел ноль

    if (N == 0)

        // возвращаем факториал нуля

        return 1;

    // Во всех остальных случаях

    else

        // делаем рекурсию

        return N * fact(N — 1);

}

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

Открываем файл Form.h, в нем мы видим визуальное представление нашей формы. Щелкаем двойным щелчком на кнопке Button и переходим к исходному коду.

После фигурной скобки ставим абзац и приступаем к кодированию. Любой набор символов, которые мы вводим с клавиатуры в текстовое поле программы является строкой, поэтому нам нужно вытащить значение из текстового поля и привести его к целочисленному типу. Это довольно сложная процедура, но, к счастью в языке C++ уже есть множество функций, выполняющих конвертирование типов данных. Сначала нам необходимо описать и инициализировать переменную, в которой будет храниться значение числа, для которого должен быть вычислен факториал. Добавим в том место, где Вы поставили абзац следующий код:

int number = System::Convert::ToDouble(num1->Text);

Эта строка инициализирует переменную, которая хранит в себе число для вычисления его факториала. Далее нам нужно будет произвести вызов нашей функции fact с переменной number в качестве единственного аргумента и занести результат работы функции в новую переменную factor.

double factor = fact(number);

И затем преобразовать полученное значение обратно в строку и присвоить его второму текстовому полю.

num2->Text = System::Convert::ToString(factor);

Таким образом, наш простой обработчик событий будет выглядеть вот так:

int number = System::Convert::ToDouble(num1->Text);

double factor = fact(number);

num2->Text = System::Convert::ToString(factor);

Теперь можно скомпилировать и запустить готовую программу и проверить ее. Помните, что тип double в С++ может хранить число не превышающее !170.

Результат работы программы можно проверить в инженерном калькуляторе Windows.

Содержание

  1. Введение в Windows Forms
  2. Создание графического приложения
  3. Запуск приложения
  4. 20) C # Приложение Windows Forms
  5. Основы Windows Forms
  6. C # Hello World
  7. Добавление элементов управления в форму
  8. Групповая коробка
  9. Контроль над этикетками
  10. Текстовое окно
  11. Список
  12. Переключатель
  13. флажок
  14. кнопка
  15. C # Обработка событий для элементов управления
  16. Управление Tree и PictureBox
  17. Управление Деревом
  18. PictureBox Control
  19. Введение в Windows Forms — пишем первую программу

Введение в Windows Forms

Создание графического приложения

Для создания графического проекта нам потребуется среда разработки Visual Studio. Поскольку наиболее распространенная пока версия Visual Studio 2013, то для данного руководства я буду использовать бесплатную версию данной среды Visual Studio Community 2013 которую можно найти на странице https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx.

После этого Visual Studio откроет наш проект с созданными по умолчанию файлами:

Теперь найдем в этом окне свойство формы Text и изменим его значение на любое другое:

Найдем среди элементов кнопку и, захватив ее указателем мыши, перенесем на форму:

Это визуальная часть. Теперь приступим к самому программированию. Добавим простейший код на языке C#, который бы выводил сообщение по нажатию кнопки. Для этого мы должны перейти в файл кода, который связан с этой формой. Если у нас не открыт файл кода, мы можем нажать на форму правой кнопкой мыши и в появившемся меню выбрать View Code (Посмотреть файл кода):

Однако воспользуемся другим способом, чтобы не писать много лишнего кода. Наведем указатель мыши на кнопку и щелкнем по ней двойным щелчком. Мы автоматически попадаем в файл кода Form1.cs, который выглядит так:

Добавим вывод сообщения по нажатию кнопки, изменив код следующим образом:

Запуск приложения

Чтобы запустить приложение в режиме отладки, нажмем на клавишу F5 или на зеленую стрелочку на панели Visual Studio. После этого запустится наша форма с одинокой кнопкой. И если мы нажмем на кнопку на форме, то нам будет отображено сообщение с приветствием.

После запуска приложения студия компилирует его в файл с расширением exe. Найти данный файл можно, зайдя в папку проекта и далее в каталог bin/Debug или bin/Release

Рассмотрев вкратце создание проекта графического приложения, мы можем перейти к обзору основных компонентов и начнем мы с форм.

Источник

20) C # Приложение Windows Forms

До сих пор мы видели, как работать с C # для создания консольных приложений. Но в реальной ситуации команда обычно использует Visual Studio и C # для создания Windows Forms или веб-приложений.

Приложение Windows Form — это приложение, которое предназначено для работы на компьютере. Он не будет работать в веб-браузере, потому что тогда он станет веб-приложением.

Этот урок будет посвящен тому, как мы можем создавать приложения для Windows. Мы также изучим некоторые основы работы с различными элементами приложений Windows.

В этом уроке вы узнаете

Основы Windows Forms

Приложение Windows Forms работает на настольном компьютере. Приложение форм Windows обычно имеет набор элементов управления, таких как метки, текстовые поля, списки и т. Д.

Ниже приведен пример простого приложения для Windows. Он показывает простой экран входа в систему, который доступен пользователю. Пользователь введет необходимые учетные данные, а затем нажмет кнопку «Вход», чтобы продолжить.

Итак, пример элементов управления, доступных в приведенном выше приложении

C # Hello World

Теперь давайте рассмотрим пример того, как мы можем реализовать простое приложение «Hello World» в Visual Studio. Для этого нам нужно будет выполнить следующие шаги

Шаг 1) Первый шаг включает создание нового проекта в Visual Studio. После запуска Visual Studio вам нужно выбрать пункт меню New-> Project.

Шаг 2) Следующий шаг — выбрать тип проекта в качестве приложения Windows Forms. Здесь также необходимо указать название и местонахождение нашего проекта.

Если вышеуказанные шаги будут выполнены, вы получите следующий вывод в Visual Studio.

Вывод:-

Вы увидите конструктор форм, отображаемый в Visual Studio. Именно в этом конструкторе форм вы начнете создавать приложение Windows Forms.

В обозревателе решений вы также сможете увидеть решение DemoApplication. Это решение будет содержать ниже 2 файла проекта

В левой части Visual Studio вы также увидите панель инструментов. Панель инструментов содержит все элементы управления, которые можно добавить в Windows Forms. Элементы управления, такие как текстовое поле или метка, являются лишь некоторыми из элементов управления, которые можно добавить в Windows Forms.

Ниже приведен скриншот того, как выглядит Панель инструментов.

Шаг 3) На этом этапе мы добавим в форму метку, которая будет отображать «Hello World». На панели инструментов вам нужно будет выбрать элемент управления Label и просто перетащить его на форму.

После того, как вы перетащите метку на форму, вы можете увидеть метку, встроенную в форму, как показано ниже.

Шаг 4) Следующий шаг — перейти к свойствам элемента управления и изменить текст на «Hello World».

Чтобы перейти к свойствам элемента управления, необходимо щелкнуть его правой кнопкой мыши и выбрать пункт меню «Свойства».

Если вы выполните все вышеперечисленные шаги и запустите свою программу в Visual Studio, вы получите следующий вывод

Вывод:-

В выводе вы можете видеть, что форма Windows отображается. Вы также можете увидеть «Hello World» отображается в форме.

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

Мы уже видели, как добавить элемент управления в форму, когда добавили элемент управления меткой в ​​предыдущем разделе, чтобы отобразить «Hello World».

Давайте посмотрим на другие элементы управления, доступные для форм Windows, и рассмотрим некоторые их общие свойства.

В нашем примере мы создадим одну форму, которая будет иметь следующую функциональность.

Итак, давайте подробно рассмотрим каждый элемент управления и добавим их для построения формы с вышеупомянутой функциональностью.

Групповая коробка

Групповое поле используется для логической группировки элементов управления в раздел. Давайте рассмотрим пример, если у вас была коллекция элементов управления для ввода таких данных, как имя и адрес человека. В идеале это данные человека, поэтому вы бы хотели, чтобы эти данные были указаны в отдельном разделе формы. Для этого у вас может быть групповое поле. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже

Шаг 1) Первый шаг — перетащить элемент управления Groupbox на форму Windows из панели инструментов, как показано ниже.

Шаг 2) После того, как группа будет добавлена, перейдите в окно свойств, нажав на элемент управления группы. В окне свойств перейдите к свойству Text и измените его на «Сведения о пользователе».

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

В выводе вы можете четко видеть, что Groupbox был добавлен в форму. Вы также можете видеть, что текст группового блока был изменен на «Сведения о пользователе».

Контроль над этикетками

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

Метка указывает пользователю на то, что ожидается заполнить в текстовом поле. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим 2 метки, одна из которых будет называться «имя», а другая — «адрес». Они будут использоваться вместе с элементами управления текстовым полем, которые будут добавлены в следующем разделе.

Шаг 1) Первый шаг — перетащить элемент управления меткой в ​​форму Windows из панели инструментов, как показано ниже. Убедитесь, что вы перетаскиваете элемент управления меткой 2 раза, чтобы иметь один для «имени», а другой для «адреса».

Шаг 2) После добавления метки перейдите в окно свойств, щелкнув элемент управления меткой. В окне свойств перейдите к свойству Text каждого элемента управления label.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

Вы можете видеть элементы управления надписью, добавленные в форму.

Текстовое окно

Текстовое поле используется для того, чтобы пользователь мог ввести текст в приложение форм. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим в форму 2 текстовых поля, одно для Имени и другое для адреса, который будет введен для пользователя.

Шаг 1) Первый шаг — перетащить элемент управления текстовым полем на форму Windows из панели инструментов, как показано ниже.

Шаг 2) После добавления текстовых полей перейдите в окно свойств, щелкнув элемент управления текстовым полем. В окне свойств перейдите к свойству Name и добавьте осмысленное имя в каждое текстовое поле. Например, назовите текстовое поле для пользователя как txtUser, а для адреса — txtAddress. Соглашение и стандарт именования должны быть сделаны для элементов управления, потому что становится легче добавить дополнительную функциональность к этим элементам управления, что мы увидим позже.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

На выходе вы можете четко видеть, что текстовые поля были добавлены в форму.

Список

Список используется для отображения списка элементов в форме Windows. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим в форму список для хранения некоторых городов.

Шаг 1) Первый шаг — перетащить элемент управления со списком на форму Windows из панели инструментов, как показано ниже.

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

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

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

Переключатель

Radiobutton используется для демонстрации списка элементов, из которых пользователь может выбрать один. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим переключатель для мужской / женской опции.

Шаг 1) Первый шаг — перетащить элемент управления radiobutton на форму Windows из панели инструментов, как показано ниже.

Шаг 2) После добавления радиокнопки перейдите в окно свойств, щелкнув элемент управления радиокнопки.

Как только вы сделаете вышеуказанные изменения, вы увидите следующий вывод

Вывод:-

Вы увидите переключатели, добавленные в форму Windows.

флажок

Флажок используется для предоставления списка опций, в которых пользователь может выбрать несколько вариантов. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим 2 флажка в наши формы Windows. Эти флажки предоставят пользователю возможность изучать C # или ASP.Net.

Шаг 1) Первый шаг — перетащить элемент управления флажком на форму Windows из панели инструментов, как показано ниже.

Шаг 2) После того, как флажок был добавлен, перейдите в окно свойств, нажав на элемент управления флажок.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

кнопка

Кнопка используется, чтобы позволить пользователю нажать на кнопку, которая затем начнет обработку формы. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже. Мы добавим простую кнопку «Отправить», которая будет использоваться для отправки всей информации в форме.

Шаг 1) Первый шаг — перетащить элемент управления кнопки на форму Windows из панели инструментов, как показано ниже.

Шаг 2) После добавления кнопки перейдите в окно свойств, нажав на элемент управления Button.

После внесения вышеуказанных изменений вы увидите следующий вывод

Вывод:-

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

C # Обработка событий для элементов управления

При работе с формой окна вы можете добавлять события в элементы управления. Событие — это то, что происходит при выполнении действия. Вероятно, наиболее распространенным действием является нажатие кнопки на форме. В Windows Forms вы можете добавить код, который можно использовать для выполнения определенных действий при нажатии кнопки в форме.

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

Давайте посмотрим на одно из событий и как оно может быть обработано, прежде чем мы перейдем к сценарию события кнопки.

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

Шаг 1) Дважды щелкните по списку в конструкторе форм . Делая это, Visual Studio автоматически откроет файл кода для формы. И он автоматически добавит метод события в код. Этот метод события будет запускаться всякий раз, когда выбран какой-либо элемент в списке.

Выше приведен фрагмент кода, который автоматически добавляется Visual Studio при двойном щелчке элемента управления «Список» на форме. Теперь давайте добавим приведенный ниже фрагмент кода в этот фрагмент кода, чтобы добавить необходимые функции в событие списка.

Как только вы внесете вышеуказанные изменения и запустите программу в Visual Studio, вы увидите следующий вывод

Вывод:-

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

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

Как только вы внесете вышеуказанные изменения и запустите программу в Visual Studio, вы увидите следующий вывод

Вывод:-

После того, как вы нажмете кнопку «Отправить», появится окно сообщения, в котором будет правильно показано, что вы ввели в разделе сведений о пользователе.

Управление Tree и PictureBox

Есть еще 2 элемента управления, на которые мы можем обратить внимание: один — «Управление деревом», а другой — «Управление изображением». Давайте посмотрим на примеры того, как мы можем реализовать эти элементы управления

Управление Деревом

— Элемент управления деревом используется для перечисления элементов в дереве, как мода. Вероятно, лучший пример — это когда мы видим сам Windows Explorer. Структура папок в проводнике Windows похожа на древовидную структуру.

Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже.

Шаг 1) Первый шаг — перетащить элемент управления Tree в форму Windows из панели инструментов, как показано ниже.

Шаг 2) Следующий шаг — начать добавлять узлы в коллекцию дерева, чтобы он мог соответственно появиться в дереве. Во-первых, давайте выполните следующие подэтапы, чтобы добавить корневой узел в коллекцию деревьев.

Шаг 3) Следующий шаг — начать добавлять дочерние узлы в коллекцию деревьев. Давайте выполним следующие подэтапы, чтобы добавить дочерний корневой узел в коллекцию деревьев.

После внесения вышеуказанных изменений вы увидите следующий вывод.

Вывод:-

Вы сможете увидеть древовидное представление, добавленное к форме. Когда вы запускаете приложение формы Windows, вы можете развернуть корневой узел и увидеть дочерние узлы в списке.

PictureBox Control

Этот элемент управления используется для добавления изображений в Windows Forms. Давайте посмотрим, как мы можем реализовать это на примере, показанном ниже.

Шаг 1) Первый шаг — перетащить элемент управления PictureBox в форму Windows из панели инструментов, как показано ниже.

Шаг 2) Следующий шаг — прикрепить изображение к элементу управления графическим блоком. Это можно сделать, выполнив следующие шаги.

Как только вы сделаете вышеуказанные изменения, вы увидите следующий вывод

Вывод:-

Из вывода видно, что изображение отображается в форме.

Резюме

Источник

Введение в Windows Forms — пишем первую программу

Для начала создадим проект.

Откроем Visual Studio, далее жмем Файл→Создать→Проект, далее выбираем пункт CLR и отмечаем Приложение Windows Forms, даем имя проекта, к примеру factr и жмем Ok.

После того как мы создали проект, должна появиться пустая форма, которая должна выглядеть примерно так:

Справа должна появиться панель элементов, если ее нет, то можно включить ее в меню Вид→Панель Элементов или нажатием горячих клавиш — Ctrl + Alt + X.

На ней расположены различные элементы для вставки в форму, нам понадобятся только элементы Button (Кнопка), Label (Надпись) и TextBox (Текстовое поле). Перетащите на форму три элемента Label, Два элемента TextBox, и одну кнопку (Button), расставьте элементы примерно так:

Задайте атрибут Text для всех элементов Label и Кнопки Button аналогичным образом. Наша форма должна принять примерно следующий вид:

Я сделал кнопку развернуть неактивной, так как изменение размеров данной формы испортит ее внешний вид, Вы также можете это сделать, щелкнув левой кнопкой мыши на пустом месте формы и в Панели свойств задать для атрибута MaximizeBox параметр False.

Теперь задайте для текстовых полей (TextBox) Атрибуты Name в Панели Свойств – для первого поля это будет num1, а для второго, соответственно num2. Тем самым мы изменили имена классов для полей TextBox, чуть позднее Вы поймете зачем.

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

Далее подключаем этот файл к проекту с помощью директивы #include – Открываем файл factr.cpp и добавляем после строчки #include «stdafx.h» следующий код.

Теперь наш заголовочный файл подключен к проекту, далее аналогичным образом создаем файл исходного кода fact.cpp в проект.

В него добавляем саму функцию вычисления факториала целого числа.

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

Открываем файл Form.h, в нем мы видим визуальное представление нашей формы. Щелкаем двойным щелчком на кнопке Button и переходим к исходному коду.

После фигурной скобки ставим абзац и приступаем к кодированию. Любой набор символов, которые мы вводим с клавиатуры в текстовое поле программы является строкой, поэтому нам нужно вытащить значение из текстового поля и привести его к целочисленному типу. Это довольно сложная процедура, но, к счастью в языке C++ уже есть множество функций, выполняющих конвертирование типов данных. Сначала нам необходимо описать и инициализировать переменную, в которой будет храниться значение числа, для которого должен быть вычислен факториал. Добавим в том место, где Вы поставили абзац следующий код:

Эта строка инициализирует переменную, которая хранит в себе число для вычисления его факториала. Далее нам нужно будет произвести вызов нашей функции fact с переменной number в качестве единственного аргумента и занести результат работы функции в новую переменную factor.

И затем преобразовать полученное значение обратно в строку и присвоить его второму текстовому полю.

Таким образом, наш простой обработчик событий будет выглядеть вот так:

Теперь можно скомпилировать и запустить готовую программу и проверить ее. Помните, что тип double в С++ может хранить число не превышающее !170.

Результат работы программы можно проверить в инженерном калькуляторе Windows.

Источник

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Dicom printer for windows
  • Windows 10 latest version torrent
  • Как посмотреть свойства ноутбука на windows 10
  • Как записать windows 10 на флешку gpt или mbr
  • Java development kit download for windows