Программирование >>  Обработка исключительных ситуаций 

1 ... 110 111 112 [ 113 ] 114 115 116 ... 142


342 Глава 14. Введение в программирование под Windows

рамкой (BorderStyle = FixedSingle). Вот как выглядят обработчики событий для пунктов меню:

private void menuIteml Click( object sender, EventArgs e )

Form2 f = new Form2(); создание экземпляра класса окна

if ( f.ShowDialogO == DialogResult.OK ) отображение окна

labell.Text = f.Info;

private void menuItem2 Click( object sender, EventArgs e )

CloseO; закрытие главного окна

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

При подтверждении ввода текст пользователя можно получить с помощью свойства Info, доступного только для чтения. При необходимости передавать информацию не только из диалогового окна, но и в него, можно добавить в описание свойства часть set.

ПРИМЕЧАНИЕ-

Следует различать процесс создания формы - объекта класса Foim или его наследника- от процесса вывода формы на экран. Форма, как и любой объект, создается при выполнении операции new с вызовом конструктора. Для вывода формы служит метод Show или ShowDi al од класса Form, вызываемый соответствующим объектом. Для скрытия формы используется метод Hide. Фактически, методы Sh и Hide изменяют свойство Visible объекта. Разница межжду скрытием формы методом Hi de и ее закрытием методом CI ose состоит в том, что первый из них делает форму невидимой, но не изменяет сам объект, а метод CI ose делает объект недоступным и закрывает все его ресурсы.

Класс Application

Класс Application, описанный в пространстве имен System.Windows.Forms, содержит статические свойства, методы и события, предназначенные для управления приложением в целом и получения его общих характеристик. Наиболее важные элементы класса Application перечислены в табл. 14.11.

Таблица 14.11. Основные элементы класса Application Элемент класса Тип Описание

AddMessageFiIter, Методы Позволяют перехватывать сообщения и выполнять

RemoveMessageFi Iter с этими сообщениями нужные предварительные

действия. Для того чтобы добавить фильтр сообщений, необходимо указать класс, реализующий интерфейс IMessageFiIter

1 Подробности см. в [27].



Класс Application

Элемент класса

Описание

DoEvents

Метод

Обеспечивает способность приложения обрабатывать сообщения из очереди сообщений во время выполнения какой-либо длительной операции

Exit

Метод

Завершает работу приложения

ExitThread

Метод

Прекращает обработку сообщений для текущего потока и закрывает все окна, владельцем которых является этот поток

Метод

Запускает стандартный цикл обработки сообщений для текущего потока

CommonAppOataRegi stry

Свойство

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

CompanyName

Свойство

Возвращает имя компании

CurrentCulture

Свойство

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

CurrentInputlanguage

Свойство

Позволяет задать или получить информацию о естественном языке для ввода информации, получаемой текущим потоком

ProductName

Свойство

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

ProductVersion

Свойство

Позволяет получить номер версии программного продукта

StartupPath

Свойство

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

ApplicationExit

Событие

Возникает при завершении приложения

Idle

Событие

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

ThreadExit

Событие

Возникает при завершении работы потока в приложении. Если работу завершает главный поток приложения, это событие возникает до события Appl i cati onExi t

Многие свойства класса Appl i cati on позволяют получить метаданные сборки (например, номер версии или имя компании), не используя типы пространства имен System.Reflection. Программист не часто работает непосредственно с классом Application, поскольку большую часть необходимого кода среда формирует автоматически.



Глава 14. Введение в программирование под Windows

Краткое введение в графику

Для вывода линий, геометрических фигур, текста и изображений необходимо создать экземпляр класса Graphics, описанного в пространстве имен System.Drawing. Существуют различные способы создания этого объекта.

Первый способ состоит в том, что ссылку на объект Graphics получают из параметра PaintEventArgs, передаваемого в обработчик события Paint, возникающего при необходимости прорисовки формы или элемента управления:

private void Forml Paint( object sender, PaintEventArgs e ) { Graphics g = e.Graphics; использование объекта

Второй способ - использование метода CreateGraphics, описанного в классах формы и элемента управления:

Graphics g;

g = this.CreateGraphicsO;

Третий способ - создание объекта с помощью объекта-потомка Image. Этот способ используется для изменения существующего изображения:

Bitmap bm = nw Bitmap( d:\\picture.bmp ); Graphics g = Graphics.FromImage( bm );

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

Реп - рисование линий и контуров геометрических фигур;

Brush - заполнение областей;

Font - вывод текста;

Col or - цвет.

В листинге 14.6 представлен код приложения, в котором на форму в1водятся линия, эллипс и текст. Вид формы приведен на рис. 14.13.

Листинг 14.6. Работа с графическими объектами

using System;

using System.Drawing;

using System.Windows.Forms;

namespace WindowsApplicationl

public partial class Forml : Form

public FormlО { InitializeComponent(); }

private void Forml Paint( object sender, PaintEventArgs e )

using ( Graphics g = e.Graphics ) 1



1 ... 110 111 112 [ 113 ] 114 115 116 ... 142

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика