20.Многооконные приложения
Предмет исследований
Исследование использование нескольких окон форм (Form) в одном приложении.
Возможность вывода сообщений при работе с приложениями Windows Form.
Открытие и закрытие новых окон в приложениях.
Создание парольного доступа к окнам приложения.
Контрольные вопросы
Открытие новых окон в приложениях.
Организация доступа к окнам.
Работа с MessageBox.
Организация завершение приложения.
Интеграция изображений в форму.
Закрытие окно в приложении.
Работа с событием FormClosing.
Объекты Show или Showdialog.
Задание. Создайте программу, в которой предусмотрена работа с несколькими окнами, организация парольного доступа к скрытым окном и вывод сообщений об ошибках через MessageBox.
Пример. В примере показана программа, демонстрирующая работу с многооконными программами и организацию парольного доступа к окнам а так же работу с MessageBox. В программе используются компоненты Button, TextBox и PictureBox. Все эти компоненты можно найти в "Панели элементов" вкладка "Стандартные элементы управления".
При запуске программы открывается "Главное окно" (форма 1) с двумя кнопками.
При нажатии на кнопку с именем "Окно 1" открывается “Окно 1” (форма 2) с картинкой. Например
Если пользователь нажимает кнопку "Окно 2", то вызывается форма 4, окно которой не отображается, а из нее вызывается форма 3. Появляется “Окно 3” (форма 3) с запросом пароля.
Если пароль введен правильно, то пользователь получает доступ к “Окну 4” (форма 4).
Окно с запросом пароля автоматически закрываетчя. Если пользователь закрывает окно ввода пароля, то приложение завершается.
Листинг программы (Форма 1)
using System;
using System.Windows.Forms;
namespace LabWindows
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();/ // Показать окно 1
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show(); // Показать окно 2
}
private void button2_Click(object sender, EventArgs e)
{
Form4 f4 = new Form4();
f4.Show(); // Показать окно 4
}
}
}
Листинг программы (Форма 2)
using System.Windows.Forms;
namespace LabWindows
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent(); // Показать окно 2
}
}
}
Отображается окно запроса пароля.
Листинг программы (Форма 3)
using System;
using System.Windows.Forms;
namespace LabWindows
{
public partial class Form3 : Form
{
bool key = false;
public Form3()
{
InitializeComponent(); // Показать окно 3
}
private void button1_Click(object sender, EventArgs e)
{
string pass = "123"; // Это пароль
if (pass == textBox1.Text)
{
key = true;
Form3.ActiveForm.Close(); // Закрыть окно 3
}
else
MessageBox.Show("Ошибка!!! Пароля!!"); // Вывод сообщения
}
private void Form3_FormClosing(object sender, FormClosingEventArgs e)
{
if (key == false)
{
int a = 0;
Environment.Exit(a); // Закрыть приложение
}
}
}
}
Листинг программы (Форма 4)
using System.Windows.Forms;
namespace LabWindows
{
public partial class Form4 :Form
{
public Form4()
{
Form3 f3 = new Form3();
f3.ShowDialog(); // Показать окно 4
InitializeComponent();
}
}
}
При запуске программы мы видим следующее:
Если нажата кнопка «Окно 1», то
Если нажата кнопка «Окно 2», то
Если пароль правильный, то
- 1.Иср Visual c#. Первые программы
- 1.1.Основы иср
- 2.Численные типы в языке c#
- 3.Строковые и символьные типы в языке c#
- 3.1.Взаимные преобразования
- 3.2.Стандартное форматирование
- 3.3.Нестандартное форматирование
- 4.Тип DateTime в языке c#
- 4.1.Консольное приложение
- 4.2.Windows Forms приложение
- 5.Линейные структуры
- 6.Ветвления
- 6.1.Ветвление if; else
- 6.2.Выбор switch; case
- 7.Циклы с неизвестным числом повторений
- 7.1.Цикл while
- 7.2.Цикл do…while
- 8.Циклы с заданным числом повторений
- 8.1.Команда Goto и метки
- 8.2.Цикл for
- 8.3.Вложенные циклы for
- 8.4.Команда break
- 8.5.Команда continue
- 9.Логические операции
- 10.Массивы
- 10.1.Одномерный массив
- 10.2.Матрица
- 11.Файлы
- 12.Подпрограммы
- 13.Операции со строками
- 13.1.Сравнение строк
- 13.2.Объединение строк
- 13.3.Разбиение строк
- 14.Исключения
- 14.1.Операции с вещественными числами
- 14.2.Операции с целыми числами
- 15.Работы с классами и объектами
- 16.Использование командной строки при запуске программ
- 17.Отладка и тестирование в с#
- 18.Многопоточные приложения
- 19.Работа с папками
- 20.Многооконные приложения
- 21.Компонент ProgressBar
- 22.Списки
- 23.Таблицы
- 24.Графика. Рисуем функции
- 24.1.Текст и график функции в форме
- 24.2.Компонент Chart
- 25.Графика, рисование фигур
- 26.Графика, растровые изображения
- 27.Графика, анимация
- 28.Приложения
- 28.1.Класс System.Math
- 28.2.Класс System.Console
- 28.3.Класс System.String