|
Прошел курс. Получил код 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



