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

1 ... 108 109 110 [ 111 ] 112 113 114 ... 142


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

Листинг 14.5 (продолжение)

static void MainO { ... }

private void Forml Load(object sender. EventArgs e) {

try {

StreamReader f = new StreamReaderC input.txt ); string buf;

while ( ( buf = f.ReadLineO ) != null ) чтение из файла listBoxl.Items.Add(buf); занесение в список

catch ( FileNotFoundException exc ) {

MessageBox.Show( exc.Message ); return;

private void buttonl Click(object sender. EventArgs e)

StreamWriter f = new StreamWriter( output.txt );

foreach ( string item in listBoxl.Selectedltems )

f.WriteLine(item); f.CloseO;

запись в файл

На панели инструментов расположено множество компонентов, не рассмотренных в этой книге. Для их изучения следует обратиться к справочной системе .NET. Она организована понятно и единообразно, и даже те, кто не изучал английский язык, смогут при некотором навыке извлечь оттуда необходимую информацию .

СОВЕТ

При изучении компонента рекомендуется следующая последовательность действий. Разместите компонент на форме, выделите его, нажмите клавишу F1 и перейдите по ссылке ...overview (обзор). Изучите разделы Remarks и Example, затем перейдите по ссылке ...Members (элементы класса), расположенной в верхней части окна Попытайтесь получить представление о возможностях изучаемого класса, выделив главные из его свойств и открытых методов. После этого можно вернуться к заготовке приложения и начать экспериментировать со свойствами, а затем - с методами класса

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

Но лучше, конечно, хотя бы немного знать английский язык, это полезно само по себ<



арительные замечания о формах 3 3 7

мэдварительные замечания о формах

;с Form наследует от длинной цепочки своих предков множество элемен-определяющих вид и поведение окон различного типа. Генеалогическое ю класса Form выглядит так: Object-MarshalByRefObject- Component->Control- HableControl->ContainerControl.

ia приложения могут иметь различные вид и назначение. Все окна можно телить на модальные и немодальные. Модальное окно не позволяет пользова-ю переключаться на другие окна того же приложения, пока не будет заверше-работа с текущим окном . Как уже отмечалось, в виде модальных обычно эрмляют диалоговые окна, требующие от пользователя ввода какой-либо ин-рмации. Модальное окно можно закрыть щелчком на кнопке наподобие ОК, утверждающей введенную информацию, на кнопке закрытия окна или на опке вроде Cancel, отменяющей ввод пользователя. Примером модального на может служить окно сообщений MessageBox, упоминавшееся в разделе Шаб-н Windows-приложения (см. с. 322) .

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

гся в тех случаях, когда пользователю желательно предоставить свободу выбо-

i - оставлять на экране какую-либо информацию или нет.

аждое приложение содержит одно главное окно. Класс главного окна приложе-ия содержит точку входа в приложение (статический метод Main). При закрыли главного окна приложение завершается.

i случае использования многодокументного интерфейса (Multiple Document nterface, MDI) одно родительское окно может содержать другие окна, называе-ше дочерними. При закрытии родительского окна дочерние окна закрываются

штоматически. Вид окна определяет его функциональность, например, окно с оди-

гарной рамкой не может изменять свои размеры.

Рассмотрим наиболее интересных предков класса формы. Их элементы наследуются не только формой, но и другими компонентами, такими как поля ввода или кнопки.

Класс MarshalByRefObject наделяет своих потомков некой особенностью, благодаря которой обращение к ним выполняется по ссылке, то есть локальная копия объекта не создается.

Класс Component обеспечивает потомков способностью взаимодействовать с кон-ТСЙНером, В котором они расположены. Кроме того, в нем определен метод Di spose, который автоматически вызывается, когда экземпляр класса более не используется. Поэтому для освобождения ресурсов, связанных с приложением, обычно переопределяют этот метод.

1 Особый вид модального окна - системное модальное окно - не позволяет переключаться даже на окна других приложений.



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

Класс Control, являющийся предком всех интерфейсных элементов, рассмотрен в этой главе ранее. В классе ScrollableControl определены элементы, позволяющие компоненту иметь горизонтальную и вертикальную полосы прокрутки. Свойства AutoScrol 1 и AutoScrol IMinSize обеспечивают автоматическое появление полос прокрутки в тех случаях, когда выводимая информация не помещается в компоненте.

Класс ContainerControl обеспечивает своих потомков возможностью управлять размещенными внутри них дочерними компонентами. Например, на форме обычно располагаются несколько кнопок, меток и т. п., а на панели - несколько флажков или переключателей. Свойства и методы класса позволяют установить фокус ввода на элемент или получать информацию о том, какой элемент имеет фокус ввода, а также управлять порядком получения фокуса с помощью свойств TabStop и Tablndex.

Класс Form

Класс Form представляет собой заготовку формы, от которой наследуются классы форм приложения. Помимо множества унаследованных элементов, в этом классе определено большое количество собственных элементов, наиболее употребитель-н1е из которых приведены в табл. 14.7-14.9.

Таблица 14.7. Некоторые свойства класса Form

Свойство AcceptButton

ActiveMDIChild,

IsMDIChild,

IsMDIContainer

AutoScale

FormBorderStyle Cancel Button

Control Box

Menu, MergedMenu

MaximizeBox, MinimizedBox

Описание

Позволяет задать кнопку или получить информацию о кнопке, которая будет активизирована при нажатии пользователем клавиши Enter

Свойства предназначены для использования в приложениях с многодокументн1м интерфейсом (MDI)

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

Позволяет установить или получить стиль рамки вокруг формы (используются значения перечисления FormBorderStyle)

Позволяет задать кнопку или подучить информацию о кнопке, которая будет активизирована при нажатии пользователем клавиши Esc

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

Используются для установки или получения информации о меню на форме

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



1 ... 108 109 110 [ 111 ] 112 113 114 ... 142

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