1 / 53

Высокоуровневые методы информатики и программирования Лекция 21

Высокоуровневые методы информатики и программирования Лекция 21 Элементы управления. План работы. Базовый класс элементов управления – Control Основные свойства и методы базового класса Основные элементы управления. Элементы управления ( Controls ).

svea
Download Presentation

Высокоуровневые методы информатики и программирования Лекция 21

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Высокоуровневые методы информатики и программированияЛекция 21Элементы управления

  2. План работы • Базовый класс элементов управления – Control • Основные свойства и методы базового класса • Основные элементы управления

  3. Элементы управления (Controls) • Классы производные от базового класса System.Windows.Forms.Control. • Наследуют всю функциональность данного класса.

  4. Типы элементов управления • Визуальные элементы управления (controls) • Компоненты (components) – не визуальные элементы управления

  5. Некоторые базовые свойства класса System.Windows.Forms.Control • Handle – номер окна Windows • BackColor, ForeColor – фоновый цвет и цвет рисования • Left, Top, Right, Bottom – координаты точек диагонали • Height, Width – высота и ширина • Size – размер окна • ContextMenu – ссылка на контекстное меню • Cursor - ссылка на курсор • Name – имя элемента для работы системы разработки • Parent – ссылка на родительское окно • Text– заголовок • Font – используемый шрифт • Controls– список других элементов управления (если контейнер) • TabIndex – порядок перехода при нажатии клавиши Tab • Focused – имеет ли окно фокус ввода (get). • Anchor – связывание со сторонами родительской формы. • Dock – присоединение к сторонам родительской формы.

  6. Размер окна • Свойство Size – начальный размер окна. • Свойство FormBorderStyle задает вид рамки формы: • Sizable – рамка с изменяющимся размером; при изменении размера возникает событие SizeChanged; • FixedSingle • Fixed3D • FixedDialog

  7. Свойство Anchor • Задает стороны родительского окна с которыми ЭУ связан. В этом случае, если родительское окно меняет размеры, то расстояние от ЭУ до заданных сторон родительской формы будет поддерживаться постоянным (неизменным). • Например, если задан ЭУ Button, который привязан к left и right, button1.Anchor = (AnchorStyles.Left | AnchorStyles.Right); то при изменении размера формы ЭУ Buton изменяет свои размеры так, чтобы сохранить расстояние до левой и правой сторон формы. • Если ЭУ не привязан к сторонам формы и размер формы можно менять, положение ЭУ относительно сторон формы меняется.

  8. Свойство Dock • Задание присоединения (dock) границ ЭУ к границам родительского ЭУ и определения того, как ЭУ меняет свои размеры при изменений размеров родительского ЭУ. • Свойства Anchor и Dock являются взаимно исключающими. Только одно может быть задано для ЭУ.

  9. Некоторые основные методы класса System.Windows.Forms.Control • Show() – показать окно на экране; • Hide() - спрятать окно (убрать с экрана); • OnEvent() – обработать заданное событие; • CreateGrafics() – создать элемент класса Grafics для рисованияв окне; • Update() – обновить содержание окна; • Invalidate() – объявить содержание окна неправильным, что заставляет ОС отправить событие WM_PAINT о необходимости перерисовки содержания окна.

  10. Группы элементов управления • Более 50 элементов управления (классов) • Стандартные элементы управления • Компоненты (не визуальные ЭУ) • Элементы управления для работы с меню и инструментальными полосами • Элементы управления для работы с принтером • Общие диалоги • Элементы управления для работы с базой данных

  11. Использование элементов управления • Включить в состав класса Form переменные требуемых типов • Создать экземпляры классов элементов управления • Задать их начальные свойства • Создать методы - обработчики событий • Связать эти методы с события элемента управления • Добавить созданные объекты к коллекции Controls

  12. Иерархия классов – элементов управления

  13. Стандартные элементы управления – Common Controls • Label (метки) • LinkLabel (метки) • Button (кнопки) • RadioButton (кнопки) • CheckBox (флажки) • CheckedListBox (флажки) • ListBox (флажки) • ListView (списки) • ComboBox (списки) • TextBox (текст) • RichTextBox (текст) • MaskedTextBox (текст) • NotifyIcon • NumericUpDown • PictureBox (графика) • ProgressBar • ToolTip • TreeView (дерево) • WebBrowser • DateTimePicker • MonthCalendar

  14. Компоненты • Элементы управления без визуального интерфейса • Timer • FileSystemWatcher • BackgroundWorker • HelpProvider • ImageList • SerialPort • ServiceController

  15. Элементы управления для работы с принтером - Printing • PrintDialog • PageSetupDialog • PrintDocument • PrintPreviewDialog • PrintPreviewControl

  16. Автоматизация программирования на основе визуальных действий с элементами управления

  17. Инструменты • Windows Forms Designer «Конструктор форм Windows» - специальные подсистемы в Visual Studio для работы с инструментами визуальной разработки. • Набор элементов управления (Toolbox) • Форма – контейнер для размещения элементов управления • Окно Propertiesдля работы со свойствами элементов управления в режиме проектирования (design mode)

  18. Окно c набором элементов управления «Tollbox» • Содержит все элементы управления, которые могут быть размещены на форме • Все элементы разделены на группы • Позволяет выбрать нужный элемент управления и перетащить его на форму

  19. Просмотр свойств объекта • Выделить элемент (должны появиться handles) • Выделить элемент и выбрать команду Properties в контекстном меню.

  20. Окно свойств «Properties» • Позволяет выбрать свойство, посмотреть значение и задать новое значение.

  21. События элемента в окне свойств • Выбрать событие • Двойной щелчок на имени события – создание пустого обработчика событий со стандартным именем. • Задание имени и щелчок - создание пустого обработчика событий со стандартным именем. • Одинарный щелчок на имени события – переход к обработчику событий. • Можно сменить имя обработчика события

  22. Работа дизайнеров • В Visual Studio имеется несколько визуальных проектировщиков форм (visual forms designers) • Основные операции: • «Перетащить и уронить» (“drag-and-drop”) на форме элемент управления • Перемещение элементов управления на форме (перетащить) и выбор их размеров • Задание свойств элементов управления в окне Properties • Назначение обработчиков событий для элементов управления • Дизайнеры предназначены для формирования частей программы на основе интерпретации действий программиста с инструментами • Добавление элемента управления на форму – вставка объекта соответствующего класса в класс формы • Размещение и изменение размеров – задание свойств созданных объектов • Задание параметров элемента управления – присвоение значений свойствам созданных объектов. • Задание обработчиков событий для элементов управления – создание методов для обработки событий и присвоение их соответствующим делегатам классов элементов управления.

  23. Разделение классов на части • Для формы создаются 2 файла • Form1.cs (в котором записываются обработчики событий, с которыми работает программист) • Form1.Designer.cs (часть класса производного от Form, с которой работает программа-дизайнер, без необходимости не менять, но нужно понимать, что в этом файле содержится) • В этих файлах описывается один класс с ключевым словом partial: partial class Form1 { . . . } • Файл Form1.Designer.cs хранит часть класса производного от Form, с которой работает дизайнер. • Файл Form1.cs хранит часть класса производного от Form, с которой работает программист (обработка событий элементов управления). • Для просмотра кода из файла Form1.cs нужно выбрать в контекстном меню команду “View Code” • Кроме файлов формы создается файл Program.cs с методом Main, в котором создается экземпляр нового класса форм и показывается окно программы.

  24. Окно управления решением • В проект включены три файла: • Form1.cs • Form1.Designer.cs • Program.cs

  25. «Windows Forms Designers поможет только до определенного момента, а потом вам придется писать код и, возможно, разбираться в том, что генерирует для вас Windows Forms Designers» Чарльз Петзольд

  26. Описание отдельных типов ЭУ

  27. Класс меток - Label • Предназначен для вывода текста на форму • Основные свойства • Text • Font • ForeColor

  28. Класс меток-ссылок LinkLable • Свойство • LinkArea • Links • LinksData • bool LinkVisited • bool LinkVisited • LinkColor • VisitedLinkColor • ActiveLinkColor • Событие • LinkClicked

  29. Наследование классов кнопок

  30. Класс кнопок - Button • Элемент для сообщения о щелчке • Левая клавиша мыши • Клавиша пробел на клавиатуре • Основное событие: • Click

  31. Класс флажков - CheckBox • состоит из маленького прямоугольника и текстовой строки • основные свойства • bool Checked (get/set) – по умолчанию false • bool AutoCheck (get/set) – по умолчанию true • Appearance (get/set) – Normal, Button • основное событие – изменение состояния • CheckedChanged

  32. Класс переключателей -RadioButton • для выбора из группы опций • Объединяются в группы (элемент GroupBox) в которых выбран может быть только один переключатель • Основные свойства • bool Checked (get/set) • bool AutoCheck (get/set) • Основное событие • CheckedChanged (изменение состояния)

  33. Порядок работыс переключателями • Установить на форму элемент GroupBox и задать Text • Поместить в элемент GroupBox элементы RadioButton

  34. Текстовые поля - TextBox • для ввода текста в программу • основные свойства • string Text (get/set) • int MaxLength(get/set) • int TextLength (get) • string[] Lines (get/set) • bool Multiline (get/set) (по умолчанию false) • основное событие • TextChanged • имеет smart tag (задать Multiline)

  35. Пример текстового поля • Другие свойства • PasswordChar – задать заменитель для введенных символов • ReadOnly • CharacterCasing (Normal – 0; Upper – 1; Lower - 2) • Полосы прокрутки для (Multiline = true и WordWrap=false)

  36. Методы текстового поля • bool Modified (get/set) • void Undo() • void Сut() • void Copy() • void Paste() • void Clear()

  37. Элемент RichTextBox • Поддерживает форматированный текст (rich text), в котором могут применяться разные шрифты, цвета, отступы абзацев и табуляция. • Может импортировать и экспортировать текст в формате RTF (Reach Text Format) • Свойства • string Rtf (get/set) задать или получить текст в формате RTF • Методы • LoadFile • SaveFile

  38. Элемент MaskedTextBox • Улучшенный элемент TextBox • Свойство • string Mask (get/set) – шаблон вводимых данных

  39. Описание элементов в шаблоне

  40. Окно списков ListBox • Часто используется в тех же целях, что и группа переключателей (RadioButton) – чтобы пользователь мог выбрать один элемент из нескольких. • Занимает меньше место на форме и позволяет выбирать несколько элементов. • Имеет свойства • Коллекция Items • Items[индекс] (get/set) • Items.Add(object), Remove(object), Clear(), Count • int SelectionMode (None -0; One – 1; MultipleSimple - 2) • bool Sorted (get/set) • int SelectedIndex = 0; • object SelectedItem (get/set)

  41. Окно списков ListBox • Примеры свойств: • object SelectedItem тоже самое, что и • object Items[lstbox.SelectedIndex] • object SelectedValue – значение, связанное с выбранным элементом; • string Text – текстовое значение выделенного элемента (если в классе задан метод ToString - lstbox.SelectedItem.ToString()) • ListBox.SelectedIndexCollection SelectedIndexes (get) • ListBox.SelectedObjectCollection SelectedItems (get) • Методы: • void SetSelected(int index, bool bSelect) • bool GetSelected(int index) • void ClearSelected() • События • SelectedIndexChanged - пользователь выбрал другое значение из списка

  42. Коллекция элементов ListBox • Коллекция элементов Items • Add (object o) – добавление элемента; • Insert(int n, object o) - вставка элемента в заданное место; • RemoveAt (int n) – удаление элемента из заданного места; • Remove (object o) - удаление заданного объекта; • Clear() – удалить все объекты

  43. Связывание с источником данных • DataSource = Book; • string DisplayMember = "Name"; • string ValueMember = “Id"; • SelectedIndex = 0;

  44. Комбинированные окна ComboBox • Текстовое поле + Окно списка • Свойства: • DropDownStyle • Simple (0) – поле можно редактировать, список всегда показывать • DropDown (1) - поле можно редактировать, список выпадает (по умолчанию) • DropDownList (2) - поле нельзя редактировать, список выпадает • Основные события: • TextChanged – при каждом изменении текста в текстовом поле • SelectedIndexChanged –выбор другого элемента

  45. Элемент CheckedListBox • Класс производный от класса ListBox • string[] myFruit = {"Apples", "Oranges","Tomato"}; checkedListBox1.Items.AddRange(myFruit);

  46. Класс PictureBox • Вывод изображения в в окне • Свойства • Image – изображение (bmp, gif, jpg, wmf, ico); • ImageLocation – путь к файлу (метод Load) • SizeMode – PictureBoxSizeMode (Normal, StretchImage; AutoSize; CenterImage; Zoom); • BoderStyle

  47. Элемент управления WebBrowser • Показать web страницу на форме • Свойства • URL (get/set) – адрес страницы; • Document (get) – получить HTMLDocument показанной web-страницы; • string DocumentText (get/set) - содержание HTML страницы; • string DocumentTitle (get)– получить заголовок страницы • Методы • void Navigate ( string urlString ) – загрузить и показать новую страницу • void GoHome () – перейти к странице по умолчанию • bool GoBack () – перейти к предыдущей странице истории • bool GoForward () – перейти к следующей странице истории • Событие • event WebBrowserDocumentCompletedEventHandler DocumentCompleted – завершение загрузки документа

  48. Элемент управления ProgressBar • Показывает ход выполнения долгой операции • Свойства • Style • Value • Maximum • Minimum

  49. Элемент NumericUpDown • для задания цифрового значения с помощью мыши • Свойства • decimal Minimum • decimal Maximum • decimal Value • decimal Increment • Свойства • event EventHandler ValueChanged

  50. Подсказки - ToolTip • Небольшое прямоугольное окно с пояснительными текстом • Нужно добавить к формеэлемент ToolTip • Для отображения надо • В обработчике события Form1_Load для элементов управления к которым нужно добавить пояснение вызвать метод • void SetToolTip(Control cntl, string strTip) • Или в свойствах элементов формы задать текст • Для удаления подсказки вызвать метод void SetToolTip(Control cntl, null)

More Related