Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

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

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

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

• Использовать значения некоторых атрибутов уровня компоновочного блока.

• Обрабатывать статическое событие ApplicationExit…

Первой нашей задачей является использование свойств класса Application для отображения атрибутов уровня компоновочного блока. Для начала добавьте в свой файл MainWindow.cs следующие атрибуты (обратите внимание на то, что здесь используется пространство имен System.Reflection).

using System;
using System.Windows.Forms;
using System.Reflection;
// Несколько атрибутов для данного компоновочного блока.
[аssembly:AssemblyCompany("Intertech Training")] [assembly: AssemblyProduct("Более совершенное окно")"] [assembly:AssemblyVersion("1.1.0.0")]
namespace MyWindowsApp {
 …
}

Вместо того чтобы отображать атрибуты [AssemblyCompany] и [AssemblyProduct] вручную, используя приемы, предлагавшиеся в главе 12, класс Application позволяет сделать это автоматически, используя различные статические свойства. Например, можно реализовать конструктор следующего вида, который будет играть роль конструктора, заданного по умолчанию.

public class MainWindow: Form {
 publiс MainWindow() {
  MessageBox.Show(Application.ProductName, String.Format("Это приложение создано для вас компанией {0}", Application.CompanyName));
 }
}

Выполнив это приложение, вы увидите окно сообщения, отображающее соответствующую информацию (рис. 19.2).


Рис 19.2. Чтение атрибутов с помощью типа Application

Теперь позволим форме отвечать на событие ApplicationExit. Вам, наверное, будет приятно узнать, что для обработки событий в рамках графического интерфейса приложений Windows Forms используется синтаксис событий, уже подробно описанный выше в главе 8. Поэтому, чтобы выполнить перехват статического события ApplicationExit, просто зарегистрируйте обработчик события с помощью операции +=.

public class MainForm: Form {
 public MainForm() {
  // Перехват события ApplicationExit.
  Application.ApplicationExit += new EventHandler(MainWindow_OnExit);
 }
 private void MainWindow_OnExit(object sender, EventArgs evArgs) {
  MessageBox.Show(string.Format("Форма версии {0} завершила работу.", Application.ProductVersion));
 }
}

Оглавление книги


Генерация: 1.356. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз