Создание второго окна
Для приложения необходимо создать дополнительное окно, отображающееся после авторизации пользователя. Добавим в проект новое окно Windows Forms, выбрав в контекстном меню проекта «Добавить» -> «Windows Forms App». Назовем его MainForm.
Скопируем стили из формы авторизации (LoginForm) в MainForm. Удалим обводку формы, установив свойство FormBorderStyle в None. Настроим свойство StartPosition. Значение WindowsDefaultLocation (по умолчанию) отобразит окно в том же месте, что и предыдущее. CenterScreen отобразит окно по центру экрана. В данном примере оставим значение по умолчанию.
В MainForm добавим надпись «Главный экран». Дополнительные элементы дизайна удалим.
Добавление кнопки и обработка события нажатия на форме авторизации
Кнопка на форме авторизации реализуется аналогично предыдущим урокам.
Переход на форму регистрации
Добавим на форму авторизации надпись «Ещё нет аккаунта?». Установим цвет текста в белый (White) и шрифт — полужирный. В обработчике события Click этой надписи:
- Скрываем окно авторизации (this.Hide()).
- Создаем объект формы регистрации: RegisterForm registerForm = new RegisterForm();
- Отображаем форму регистрации: registerForm.Show();
Исправление ошибки закрытия приложения
Для корректного завершения приложения заменим this.Close() на Application.Exit() во всех формах (LoginForm, RegisterForm, MainForm). Метод this.Close() приводил к некорректному завершению приложения.
Добавление кнопки перехода на форму авторизации в форму регистрации
Скопируем надпись с формы авторизации на форму регистрации, изменив текст на «Авторизоваться». При нажатии на эту кнопку:
- Скрываем окно регистрации (this.Hide()).
- Создаем объект формы авторизации: LoginForm loginForm = new LoginForm();
- Отображаем форму авторизации: loginForm.Show();
В форме авторизации удалим вывод сообщений об успешной/неудачной авторизации. После успешной авторизации будем скрывать форму авторизации и отображать MainForm.
Тестирование приложения
Запустим приложение и протестируем функциональность перехода между окнами, регистрации и авторизации. Убедимся в корректном закрытии приложения.
В уроке рассмотрено создание переходов между окнами в приложении Windows Forms на C#. Рассмотрены вопросы настройки отображения окон, обработки событий и корректного завершения работы приложения. Возможным домашним заданием является добавление эффектов при наведении курсора на текст.