ВВЕДЕНИЕ В WINFORMS Лекция 1. Устройство Windows-приложения Оконнная функция Окно Цикл обработки сообщений OS Windows Программа создает окно и присоединяет.

Презентация:



Advertisements
Похожие презентации
Click to edit Master title style IDK1011 Основы программирования События и их обработка.
Advertisements

Высокоуровневые методы информатики и программирования Лекция 22 Работа с внешними устройствами.
Объявление события public delegate void SampleEventDelegate(object Sender, string e); public event SampleEventDelegate SampleEvent; public void CallEvent(string.
Windows forms. Объявление события public delegate void SampleEventDelegate(object Sender, string e); public event SampleEventDelegate SampleEvent; public.
Высокоуровневые методы информатики и программирования Лекция 20 Пространство имен System.Windows.Forms.
Общие сведения Так как среда программирования Visual Basic выполняется на компьютере вместе с операционной средой Windows, то создавать мы будем программы,
©Павловская Т.А. (СПбГУ ИТМО) 1 Расчет рейтинга по модулю 4 вид учебной нагрузки баллы minmax Выполнение и защита лаб. раб. (2 штуки) 6 * 2 шт10 * 2 шт.
Программирование в Mozilla По материалам сайта. Добавление Javascript в XUL-страницы Добавление страниц с текстом на Javascript происходит точно так же,
Виды проектов Visual Studio.Net 2012 предлагает различные шаблоны для ваших начальных проектов. Основные поддерживаемые языки программирования: С#, C++,
События формы. Обработчик событий Обработчик событий это метод, связанный с событием. При возникновении события выполняется код внутри обработчика событий.
Высокоуровневые методы информатики и программирования Лекция 23 Графический интерфейс форм.
Слезко Полина Сергеевна Учитель информатики Белоярской СОШ Томской области.
Вопрос 1. Для чего необходим графический интерфейс? ОПРОС ДОМАШНЕГО ЗАДАНИЯ: Ответ: Графический интерфейс необходим для реализации интерактивного диалога.
Полиморфизм. Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
©Павловская Т.А. (СПбГУ ИТМО) Курс «С#. Программирование на языке высокого уровня» Павловская Т.А.
Особенности C# Индексаторы, события, частичные методы, расширяющие методы, сборщик мусора DraggonZ.
Программирование на Visual Basic Автор Волков Ф.Л.
Лекция 6: Обзор компонентов 1. Списки ListBox и ComboBox 2. Компонент dataGridView 3. Компонент Timer 4. Диалоговые окна 5. Окна сообщений 6. Компонент.
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Объектно-ориентированное программирование Основы языка программирования Lazarus.
Транксрипт:

ВВЕДЕНИЕ В WINFORMS Лекция 1

Устройство Windows-приложения Оконнная функция Окно Цикл обработки сообщений OS Windows Программа создает окно и присоединяет к нему оконную функцию после чего запускает бесконечный цикл. В цикле она запрашивает Windows, нет ли для нее сообщения, и если есть, вызывает оконную функцию и передает сообщение ей. Работа программиста заключается в объявлении оконных функций. 2

Классы Form и Application Класс Form отвечает за окно и оконную функцию (свойство IntPtr Handle). Класс Application отвечает за бесконечный цикл (метод Run() ). 3

От консольного к оконному приложению 1.Добавить ссылку на сборку System.Windows.Forms 2.В метод Main вписать Form form = new Form(); Application.Run(form); 3.В окне свойств проекта выбрать опцию Windows.Application. using System.Windows.Forms; class Program { public static void Main() { Application.Run(new Form()); } 4

Настройка окна Выполняется путем задания свойств класса Form. public static void Main() { Form form = new Form() { Width = 500, Height = 300, BackColor = Color.Yellow }; Application.Run(form); } Выполняется путем наследования класса Form. class MyForm : Form { public MyForm() { } 5

Элементы управления Класс Control – предок всех элементов управления. Классы Button, TextBox, Label, … - конкретные элементы управления. class MyForm : Form { Button button; public MyForm() { Width = 500; Height = 300; button = new Button() { Parent = this, Text = "OK"}; } 6

Свойства класса Control 7 Наследуемые свойства: BackColor, ForeColor, Cursor, Font Если значения наследуемых свойств не заданы, они "наследуются" от Parent.

Свойства класса Control 8

Чем соединяются управляющие элементы Методы коллекции Controls Add(), AddRange() Вставляют в коллекцию нового потомка типа Control (или массива типов) Clear () Удаляет из коллекции все члены Count Возвращает количество членов в коллекции Remove (), RemoveAt () Удаляют элемент из коллекции Control Controls Parent 9

Окно дизайнера UI 10 Вид и поведение формы во время выполнения программы целиком определяется программным кодом на C#. Окно дизайнера – это результат компиляции и выполнения кода, сгенерированного дизайнером. Для визуальной разработки формы потребуются: 1.Окно кода. 2.Окно дизайнера. 3.Окно свойств и событий

Советы дизайнера 11 Ссылки на управляющие элементы делать полями формы. Создавать и настраивать управляющие элементы в конструкторе формы. Вставлять управляющие элементы в иерархию пользовательского интерфейса при помощи коллекции Controls. События управляющих элементов обрабатывать в методах формы.

Обработка событий 12 class MyForm : Form { Button button; public MyForm() { Width = 500; Height = 300; button = new Button(); button.Parent = this; button.Text = "Yellow"; button.Click += button_Click; } void button_Click(object sender, EventArgs e) { this.BackColor = Color.Yellow; }

События формы 13 Activated Возникает при активации формы, т.е. при получении формой фокуса ввода FormClosing, FormClosed Возникают непосредственно перед закрытием формы и сразу после закрытия Deactivate Возникает при деактивации формы, т.е. при потере фокуса ввода Load Возникает после размещения формы в памяти, но еще до отображения на экране. Применяется для окончательной настройки формы. Фокус ввода – способность у.э. получать события от клавиатуры

Шаблон событий в WinForms 14 Все события имеют типы EventHandlerXxx или EventHandler. Для возбуждения события Xxx используется защищенный метод OnXxx(T e). Если элемент наследуется, обработку события можно организовать в методе OnXxx() наследника. Перед возбуждением события всегда нужно проверять наличие подписчиков. В методе OnXxx() наследника следует вызвать метод OnXxx() предка. Событие Xxxing издается до события Xxx и позволяет заюлокировать событие при помощи свойства Cancel второго аргумента обработчика. Событие Xxxed издается после события Xxx. Пример – закрытие формы.

Пример 15 Добавить к форме событие Click3, которое происходит при каждом третьем щелчке мыши по форме.

События от мыши 16 Свойства класса MouseEventArgs Button – выдает кнопку мыши, которой был выполнен щелчок (перечисление MouseButtons) Clicks – выдает количество нажатий и отпусканий кнопки мыши Delta – выдает количество делений, которые соответствуют одному сдвигу колеса мыши Location – возвращает объект Point, содержащий координаты х и у мыши X, Y – выдает по-отдельности координаты щелчка мышью MouseDown, MouseUp, MouseMove MouseEnter, MouseHover, MouseLeave

События от клавиатуры 17 Свойства класса KeyEventArgs Alt – определяет, была ли нажата клавиша Alt Control – определяет, была ли нажата клавиша Ctrl Handled - выдает или задает значение, определяющее, было ли событие полностью обработано KeyCode – выдает код клавиши для события KeyDown или KeyUp Modifiers – определяет, какие клавиши-модификаторы (Ctrl, Shift, и/или Alt) были нажаты Shift – определяет, была ли нажата клавиша Shift KeyDown, KeyPress, KeyUp

Самостоятельно 18 1.Создать в Студии консольное приложение и вручную превратить его в оконное. 2.Сделать приложение с формой и семью кнопками, нажатие на которые окрашивает форму в различные цвета радуги. 3.Сделать приложение Калькулятор, которое имело бы поля ввода для чисел, кнопки арифметических действий и метку для вывода результата. 4.Окрашивать форму в цвета от синего к красному в зависимости от высоты расположения на форме курсора мыши. Когда курсор вверху (на севере), форма абсолютно синяя, когда внизу (на юге), абсолютно красная. 5.При помощи мыши расставлять на форме новые кнопки, нажатие на которые высвечивает в заголовке их порядковый номер, а повторное нажатие на кнопку удаляет ее с формы.