C# .NET WinForms: Переход между окнами

Создание второго окна

Для приложения необходимо создать дополнительное окно, отображающееся после авторизации пользователя. Добавим в проект новое окно Windows Forms, выбрав в контекстном меню проекта «Добавить» -> «Windows Forms App». Назовем его MainForm.

Скопируем стили из формы авторизации (LoginForm) в MainForm. Удалим обводку формы, установив свойство FormBorderStyle в None. Настроим свойство StartPosition. Значение WindowsDefaultLocation (по умолчанию) отобразит окно в том же месте, что и предыдущее. CenterScreen отобразит окно по центру экрана. В данном примере оставим значение по умолчанию.

В MainForm добавим надпись «Главный экран». Дополнительные элементы дизайна удалим.

Добавление кнопки и обработка события нажатия на форме авторизации

Кнопка на форме авторизации реализуется аналогично предыдущим урокам.

Переход на форму регистрации

Добавим на форму авторизации надпись «Ещё нет аккаунта?». Установим цвет текста в белый (White) и шрифт — полужирный. В обработчике события Click этой надписи:

  1. Скрываем окно авторизации (this.Hide()).
  2. Создаем объект формы регистрации: RegisterForm registerForm = new RegisterForm();
  3. Отображаем форму регистрации: registerForm.Show();

Исправление ошибки закрытия приложения

Для корректного завершения приложения заменим this.Close() на Application.Exit() во всех формах (LoginForm, RegisterForm, MainForm). Метод this.Close() приводил к некорректному завершению приложения.

Добавление кнопки перехода на форму авторизации в форму регистрации

Скопируем надпись с формы авторизации на форму регистрации, изменив текст на «Авторизоваться». При нажатии на эту кнопку:

  1. Скрываем окно регистрации (this.Hide()).
  2. Создаем объект формы авторизации: LoginForm loginForm = new LoginForm();
  3. Отображаем форму авторизации: loginForm.Show();

В форме авторизации удалим вывод сообщений об успешной/неудачной авторизации. После успешной авторизации будем скрывать форму авторизации и отображать MainForm.

Тестирование приложения

Запустим приложение и протестируем функциональность перехода между окнами, регистрации и авторизации. Убедимся в корректном закрытии приложения.

В уроке рассмотрено создание переходов между окнами в приложении Windows Forms на C#. Рассмотрены вопросы настройки отображения окон, обработки событий и корректного завершения работы приложения. Возможным домашним заданием является добавление эффектов при наведении курсора на текст.

Что будем искать? Например,программа