
- •Разработка компьютерного теста с выбором правильного варианта ответа из нескольких предложенных
- •1. Определение содержания теста
- •2. Определим способ хранения вопросов и правильных вариантов ответов: в файле на диске, или в массиве в программе
- •3. Разработка интерфейса и описание обработчиков событий для главной формы приложения
- •4. Формирование интерфейса и описание обработчиков событий тестовой формы
- •5. Формирование интерфейса и описание обработчиков событий формы для показа результатов тестирования
5. Формирование интерфейса и описание обработчиков событий формы для показа результатов тестирования
Интерфейс формы для показа результатов тестирования достаточно прост (см. рисунок 4):
Рисунок 4. Интерфейс формы для показа результатов тестирования
Единственный обработчик написан на нажатие кнопки OK и предназначен для закрытия этой формы и выглядит следующим образом:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
При запуске созданного приложения вы должны получить сообщение о 3 ошибках в программном модуле второй формы:
Ошибка 3 "WindowsFormsApplication1.Form3.label3" недоступен из-за его уровня защиты D:\C#\Простой тест\WindowsFormsApplication1\WindowsFormsApplication1\Form2.cs 79 16 WindowsFormsApplication1
Ошибка 2 "WindowsFormsApplication1.Form3.label2" недоступен из-за его уровня защиты D:\C#\Простой тест\WindowsFormsApplication1\WindowsFormsApplication1\Form2.cs 78 16 WindowsFormsApplication1
Ошибка 1 "WindowsFormsApplication1.Form3.label1" недоступен из-за его уровня защиты D:\C#\Простой тест\WindowsFormsApplication1\WindowsFormsApplication1\Form2.cs 77 16 WindowsFormsApplication1
Система указывает нам, что мы обращаемся к компонентам Label на форме 3 недоступным с формы 2 из - за их уровня защиты.
Действительно, компоненты label1, label2 и label3 описаны на форме 3 с использованием модификатора доступа private. Чтобы они стали доступны со 2 формы нужно в обозревателе решений открыть Form3.Designer.cs и для компонентов label1, label2 и label3 изменить модификатор доступа private на public.
public System.Windows.Forms.Label label1;
public System.Windows.Forms.Label label2;
public System.Windows.Forms.Label label3;