Создание оконных приложений в .NET. Процесс обработки сообщений

Страницы работы

53 страницы (Word-файл)

Фрагмент текста работы

Создание оконных приложений в .NET

Средства разработки GUI

  • Редакторы ресурсов. Механизм ресурсов приложений Microsoft Windows был разработан для того, чтобы отделить элементы пользовательского интерфейса (диалоговые окна, кнопки, списки и т. д.) от программного кода.
  • MFC - библиотека классов Microsoft Foundation Classes в Microsoft Visual C++ может выступать в качестве системы визуального проектирования приложений.
  • RAD - средства ускоренной разработки приложений (Rapidly Application Development)

Принципы работы приложений Windows

  • Разновидности программ:
  • Консольные и программы с графическим интерфейсом
  • Однопоточные и многопоточные программы
  • Синхронное и асинхронное выполнение программ

Сообщения (События)

Сообщения создают драйверы периферийных устройств ввода и вывода, таких, как клавиатура, мышь или таймер. Драйверы создают сообщения при поступлении аппаратных прерываний. Сообщения попадают в системную очередь сообщений Microsoft Windows, а далее распределяются в очереди сообщений отдельных приложений. Обнаружив сообщение, приложение с помощью специальной функции из программного интерфейса Windows (Win32 API) распределяет его нужному программному модулю, называемому функцией окна. Фокус ввода (input focus) - это атрибут, который в любой момент времени может относиться только к одному окну. Если окно имеет фокус ввода, все сообщения распределяются сначала в очередь сообщений приложения, создавшего окно, а затем - функции окна, владеющего фокусом ввода.

Процесс обработки сообщений

Windows Forms

Создание главного окна

using System; using System.Windows.Forms; namespace MyWindowsApp { public class MainWindow : Form { //Выполнение приложения //и идентификация главного окна static void Main(string[] args) { Application.Run(new MainWindow()); } } }

Набрать в командной строке csc /target:winexe *.cs

Класс Application

  • Предоставляет статические методы и свойства для управления приложением, в том числе:
  • методы для запуска и остановки приложения;
  • методы для запуска и остановки потоков в рамках приложения;
  • методы для обработки сообщений Windows;
  • свойства для получения сведений о приложении.

Иерархия классов в System.Windows.Forms

Пространство имен System.Windows.Forms

Возможности класса Control

  • Класс System.Windows.Forms.Control задает общее поведение, ожидаемое от любого GUI-типа. Базовые члены класса Control позволяют:
  • указать размер и позицию элемента управления,
  • выполнить захват событий клавиатуры и мыши,
  • получить и установить фокус ввода,
  • задать и изменить видимость членов
  • и т.д.

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

События класса Control.

  • События, учитывающие состояние клавиатуры: KeyPress, KeyUp, KeyDown
  • События, учитывающие состояние мыши: Click, DoubleClick, MouseEnter, MouseDown, MouseUp, MouseMove
  • Событие, позволяющее взаимодействовать с GDI: Paint

Методы класса Control.

Класс Form

  • Объект класса Form поддерживает механизмы управления, реализованные на основе обмена сообщениями Windows.
  • Класс формы содержит объявление множества событий, для которых на основе стандартного интерфейса (сигнатуры) могут быть подключены и реализованы функции обработки событий.
  • Этот класс можно использовать как основу для создания различных вариантов окон:
  • стандартных;
  • инструментальных;
  • всплывающих;
  • borderless;
  • диалоговых.

Методы класса Form обеспечивают управление формой: ShowDialog - обеспечивает представление формы как модального диалога; Show - показывает форму как немодальный диалог; SetDesktopLocation - позиционирует форму на поверхности Рабочего стола; Activate – активизирует форму Hide – скрывает форму Close – закрывает форму

Контейнеры

  • Container controls – место для группировки элементов пользовательского интерфейса. Контейнер может управлять доступом к размещаемым на его поверхности элементам управления.
  • К числу контейнеров относятся:
  • Form
  • Panel - содержащий другие элементы управления. Может быть использован для группировки множества элементов управления.
  • GroupBox - предполагается для размещения радиокнопок и прочих переключателей. Рисует рамочку вокруг элементов управления, группируемым по какому-либо признаку.
  • TabControl - содержит объекты TabPage, которые могут добавляться через

Похожие материалы

Информация о работе