Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Создание оконных приложений Windows Forms
Тестирование пользовательских библиотечных классов
В результате выполненных действий мы получили полноценную библиотечную сборку с именем MyLibrary.dll, которая находится в каталоге MyLibrary/bin/Release текущего проекта и хранит в себе два класса. Теперь нужно проверить ее работоспособность. Это делается также просто, как и с классами стандартной библиотеки .NET Framework.
Один из возможных вариантов - это удалить наши файлы с исходным кодом классов. Это можно сделать в панели Solution Explorer двумя способами:
- Выделить файлы и выполнить для них команду контекстного Exclude From Project
- Выделить файлы и выполнить для них команду контекстного меню Delete
В первом случае файлы будут исключены из проекта но останутся существовать физически, во втором - будут уничтожены.
Но мы сделаем по другому: добавим в решение еще пару проектов для тестирования модального и немодального окон соответственно.
-
Выполните команду меню File/Add/New Project и добавьте к решению два новых пустых проекта с именем TestModal и TestModeless
После этого дерево решения в панели Solution Explorer будет выглядеть так
-
Выделите в панели Solution Explorer последовательно каждый новый проект и через контекстное меню командой Add/New Item добавьте по два новых пустых файла с именами GeneralForm.cs и Program.cs
После этого дерево решения в панели Solution Explorer будет выглядеть так
-
Заполните файлы приведенным ниже кодом, который мы ранее уже применяли для тестирования модального и немодального окна, при этом добавьте директиву using на пространство имен нашей библиотечной сборки
using System; using System.Windows.Forms; using System.Drawing; using DialogBox; namespace MyApp { class GeneralForm : Form // Наследуем библиотечному классу { // Конструктор с настройками public GeneralForm() { // Начальная настройка окна this.Text = "С модальным окном"; this.StartPosition = FormStartPosition.CenterScreen; // Создание и настройка объекта кнопки Button btn = new Button(); // Кнопка вызова диалогового окна btn.Parent = this; // Назначаем родителя btn.Text = "Изменить цвет";// Надпись на кнопке int left = (this.ClientSize.Width - btn.Width) / 2; int top = this.ClientSize.Height - 2 * btn.Height; btn.Location = new Point(left, top); // Координаты привязки btn.AutoSize = true;// Подгонять размер под надпись // Подписываемся на событие btn.Click += ButtonOnClick; } // Обработчик создает диалоговое окно void ButtonOnClick(object sender, EventArgs e) { // Создаем объект модального окна, // локальный внутри обработчика // Он будет заново создаваться при каждом вызове ModalDialogBox dlg = new ModalDialogBox(); if (dlg.ShowDialog() == DialogResult.OK)// Надо изменить цвет { Random rnd = new Random(); int iShade = rnd.Next(255); // Проверяем выбор пользователя по состоянию флажка // Форма еще существует, хоть и скрыта после завершения if (dlg.GrayShades) { this.BackColor = Color.FromArgb( // Только случайный серый iShade, iShade, iShade); } else { this.BackColor = Color.FromArgb( // Случайный цветной iShade,// Уже сгенерировано, экономим силы rnd.Next(255), rnd.Next(255)); } } } } }Листинг 6.31 . Код файла GeneralForm.cs проекта TestModal
using System.Windows.Forms; namespace MyApp { class EntryPoint { public static void Main() { Application.EnableVisualStyles(); Application.Run(new GeneralForm()); } } }Листинг 6.32 . Код файла Program.cs проекта TestModal