Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Опубликован: 25.03.2010 | Уровень: для всех | Доступ: платный
Лекция 12:
Классы Application и Form
-
Заполните файлы следующим кодом
using System; using System.Windows.Forms; namespace SimpleWinApp { class GeneralForm : Form { public GeneralForm() { } } }Листинг 12.1 . Код файла GeneralForm.cs
using System; using System.Windows.Forms; namespace SimpleWinApp { class Program { static void Main() { // Поддержка визуальных стилей Windows XP Application.EnableVisualStyles(); // Включение формы в цикл сообщений Windows Application.Run(new GeneralForm()); // Для задержки консольного окна Console.ReadLine(); } } }Листинг 12.2 . Код файла Program.cs
В нашем простом приложении класс GeneralForm пока не делает ничего, кроме как инкапсулирует (упаковывает) базовый библиотечный класс Form.
Класс Application определяет ряд статических свойств уровня приложения, многие из которых доступны только для чтения.
Свойство | Описание |
---|---|
StartupPath | Получает путь для исполняемого файла, который запустил приложение, не включая его имя |
ExecutablePath | Получает путь для исполняемого файла, который запустил приложение, включая имя файла |
ProductName | Содержит значение атрибута [ AssemblyProduct ] сборки |
ProductVersion | Содержит значение атрибута [ AssemblyVersion ] сборки |
CompanyName | Содержит значение атрибута [ AssemblyCompany ] сборки |
Класс Application определяет ряд статических событий уровня приложения.
Событие | Описание |
---|---|
ApplicationExit | Генерируется непосредственно перед тем, как данное приложение завершает работу |
Idle (простой) | Генерируется тогда, когда цикл сообщений приложения заканчивает обработку текущего пакета сообщений и переходит в состояние ожидания |
ThreadExit | Генерируется перед тем, как очередной поток приложения завершается. Если завершается основной поток приложения, то предшествует событию ApplicationExit |
-
Проверьте работу класса Application, скорректировав файл GeneralForm.cs проекта так
using System; using System.Windows.Forms; using System.Reflection;// Для атрибутов // Глобальные атрибуты для сборки [assembly:AssemblyCompany("Рога и копыта")] [assembly:AssemblyProduct("Мыльные пузыри")] [assembly:AssemblyVersion("0.0.0.1")] namespace SimpleWinApp { class GeneralForm : Form { int count = 0; const int MAX_COUNT = 100; public GeneralForm() { // Настройка консольного окна Console.ForegroundColor = ConsoleColor.White; Console.CursorVisible = false; Console.Title = "Вспомогательное окно"; // Использование свойств класса Application Console.WriteLine("Это приложение создано компанией: " + Application.CompanyName); Console.WriteLine("Компания производит: " + Application.ProductName); Console.WriteLine("Версия данного продукта: " + Application.ProductVersion); // Использование событий класса Application Application.Idle += new EventHandler(AppIdle); Application.ApplicationExit += new EventHandler(AppExit); } void AppIdle(object sender, EventArgs e) { Console.WriteLine("{0}) Простой приложения", ++count); if (count > MAX_COUNT) { Console.Clear(); // Очистить буфер консоли count = 0; // Сбросить счетчик } } void AppExit(object sender, EventArgs e) { Console.WriteLine("Графическое окно приложения закрыто"); } } }Листинг 12.3 . Код файла GeneralForm.cs
Код файла Program.cs останется прежним. Результат выполнения программы будет таким
Атрибуты сборки можно разместить в специальном файле, удалив их из кода приложения.
-
Выполните команду Project/New Item и выберите шаблон Assembly Information File
-
Откройте файл на редактирование и скорректируйте соответствующие атрибуты сборки в добавленном файле. Явное задание атрибутов в файле GeneralForm.cs нужно удалить
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: AssemblyCompany("Рога и копыта")] [assembly: AssemblyProduct("Мыльные пузыри")] [assembly: AssemblyCopyright("Copyright © 2007")] [assembly: AssemblyVersion("0.0.0.1")] [assembly: AssemblyTitle("")] [assembly: AssemblyCulture("")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyTrademark("")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: ComVisible(false)] [assembly: Guid("01ac5f2e-a47c-424d-9754-ac4be62ae171")]Листинг 12.4 . Код файла уровня сборки AssemblyInfo1.cs