Windows Forms: Современная модель программирования для создания GUI приложений

Главная выгода от написания Windows-приложений с использованием Windows Forms - это то, что Windows Forms гомогенизируют (создают более однородную (гомогенную)

Windows Forms: Современная модель программирования для создания GUI приложений

Информация

Компьютеры, программирование

Другие материалы по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией
зующем Windows Forms, каждое окно - или форма - представлено экземпляром класса, производного от System.WinForms.Form (Листинг 1 - класс MyForm). Конструктор MyForm устанавливает текст заголовка формы "Windows Forms Demo" используя свойство Text. Text - одно из более чем 100 свойств, которые форма наследует от System.WinForms.Form, но пока единственное, в котором вы нуждаетесь.

Как вы знаете, окна получают сообщения WM_PAINT и большинство перерисовок экрана выполнено в ответ на эти сообщения. В Windows Forms эквивалент сообщения WM_PAINT - виртуальный метод по имени OnPaint. Производный класс формы может переопределить этот метод в случае надобности выполнять собственную перерисовку в ответ на сообщения WM_PAINT.

Обратите внимание на ключевое слово в Листинге 1, которое компилятор C# интерпретирует как подтверждение, что вы хотите переопределить виртуальный метод, унаследованный от базового класса. Перопределенный OnPaint записывает "Hello, world" в клиентской области формы. OnPaint вызывает объект PaintEventArgs (System.WinForms.PaintEventArgs), который содержит свойства Graphics и ClipRectangle. Свойство Graphics ссылается к объекту Graphics (System.Drawing.Graphics), который является эквивалентом контекста устройства (device context) в Windows Forms. ClipRectangle производное объекта Rectangle (System.Drawing.Rectangle), который описывает какая часть формы является недопустимой.

Метод OnPaint из MyForm использует Graphics.DrawString, чтобы выполнить вывод на экран. Первый параметр DrawString - непосредственно само сообщение (строка) "Hello, world". Второй - объект Font (System.Drawing.Font), который описывает шрифт для вывода текста. MyForm.OnPaint использует шрифт формы (которой установлен в свойстве Font формы). Третий параметр - Brush (System.Drawing.Brush) - объектное определение цвета текста. Четвертый и заключительный параметр - прямоугольник области, куда требуется вписать текст.

Заключительная часть MyForm - статический метод Main. Main - точка входа в приложение. Каждое приложение .NET должно иметь этот метод. Main может быть объявлен любым из следующих способов:

public static void Main ()

public static int Main ()

public static void Main (string[] args)

public static int Main (string[] args)

Параметр args метода Main - строковый массив параметров командной строки (задаваемых при вызове программы). Элемент args[0] хранит первый параметр командной строки, args[1] - второй и т.д. Как правило, в каждом приложении метод Main выполняется только однажды (компилятор Microsoft C# допускает использование ключа /main, указывающего в каком классе содержится метод Main, если приложение имеет несколько классов с методами Main). Main может находиться в любом классе, определенном в приложении.

Отображение нашей формы на экране - простой пример выполнения MyForm и передачи действия Application.Run. Application - другой класс, определенный в System.WinForms. Метод Run создает форму, отображает ее на экране и обрабатывает сообщения к ней. Следующая инструкция в Листинге 1

Application.Run (new MyForm ());

обрабатывает MyForm и показывает форму.

Сохраните текст программного кода (Листинг 1) в файле Hello.cs и откомпилируйте его. Чтобы это сделать, откройте окно командной строки, перейдите в каталог файла Hello.cs и введите:

csc /target:winexe /out:Hello.exe /reference:System.dll

/reference:System.WinForms.dll /reference:System.Drawing.dll

/reference:Microsoft.Win32.Interop.dll Hello.cs

Команда csc вызывает компилятор Microsoft C#. "Hello.cs" указывает на файл, который требуется откомпилировать. Ключ "/target:winexe" сообщает компилятору, что нужно создать GUI-приложение для Windows, а "/out:Hello.exe" задает имя файла программы (этот ключ можно опустить, т.к. в данном случае по умолчанию все равно будет создан Hello.exe, т.к. CS-файл назван Hello.cs). Ключи "/reference" указывают ссылки на внешние классы, например, для System.WinForms.Form и System.Drawing.Size. Для краткости допускается заменять "/target" и "/reference" на "/t" и "/r".

Hello.exe не обычный EXE-файл, это .NET-программа, содержащая следующие важные элементы:

Microsoft Intermediate Language (MSIL), сгенерированный при помощи C#

Метаданные, описывающие типы (классы), определенные в приложении, и типы (например, System.WinForms.Form), на которые ссылается приложение, находящиеся в другом месте (например, в MsCorLib.dll и System.WinForms.dll)

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

В языке .NET, сборка - это коллекция из одного или более файлов, создающих модуль. Наша сборка содержит только один файл Hello.exe и этот факт отмечен в декларации внутри выполнимой программы. Декларация физически сохранена как часть метаданных. Каждая управляемая выполнимая программа это есть любой PE-файл, который содержит MSIL - часть сборки и каждая управляемая выполнимая программа имеет метаданные внутри. Один из файлов в .NET-сборке содержит декларацию идентификации файлов, которые должны быть включены при сборке и общедоступные типы. Компилятор C# производит всю необходимую инфраструктуру.

Теперь когда вы откомпилировали Hello.exe, можете набрать в командной строке:

Hello

Посмотрите на рис.1, чтобы увидеть результат работы нашей программы.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://bestcode.org/

 

 

Похожие работы

< 1 2