C# .NET WinForms: Создание формы регистрации

Создадим новое окно для регистрации пользователей в нашем приложении.

Создание формы регистрации

Создайте новый файл для окна регистрации:

  1. Щёлкните правой кнопкой мыши по проекту.
  2. Выберите «Добавить» -> «Новая форма Windows Forms».
  3. Назовите форму, например, RegisterForm.

Новая форма будет создана быстрее, чем первая, если скопировать стили с формы авторизации.

Копирование элементов интерфейса

  1. Откройте форму Login.Form.
  2. Выделите все элементы формы (можно выделить все элементы, зажав Ctrl и кликая на них, или используя Ctrl+A).
  3. Скопируйте выделенные элементы (Ctrl+C).
  4. Откройте RegisterForm и вставьте скопированные элементы (Ctrl+V).

Теперь RegisterForm выглядит похоже на LoginForm.

Изменение элементов формы регистрации

  1. Выделите всю форму и в свойстве FormBorderStyle установите значение None.
  2. Измените заголовок формы с «Авторизация» на «Регистрация».
  3. Перенесите кнопку в более удобное место.
  4. Добавьте два поля для ввода имени и фамилии, разместив их рядом.
  5. Измените текст на кнопке с «Войти» на «Зарегистрироваться».
  6. Подкорректируйте размер и положение кнопки.

Добавление функциональности и обработка событий

Для кнопки «Закрыть»:

  1. Дважды кликните по кнопке «Закрыть». Это добавит функцию CloseButton_Click.
  2. Скопируйте код функции CloseButton_Click из Login.Form в RegisterForm. Функции имеют одинаковое имя, так как кнопки и их действие идентичны в обеих формах.

Теперь кнопка «Закрыть» будет работать. Для возможности перетаскивания формы скопируйте обработчики событий мыши: MouseEnter, MouseLeave, MouseMove и MouseDown из Login.Form в RegisterForm. Для удобства создайте эти события на форме дважды кликнув на них.

Реализация подсказок для полей ввода

В WinForms нет встроенных placeholder’ов. Реализуем их с помощью обработки событий:

  1. Переименуйте поля TextBox1 и TextBox2 в userNameField и userSurnameField соответственно.
  2. В обработчике события Load формы RegisterForm добавьте текст-подсказку:
userNameField.Text = "Введите имя";
userSurnameField.Text = "Введите фамилию";
userNameField.ForeColor = System.Drawing.Color.Gray;
userSurnameField.ForeColor = System.Drawing.Color.Gray;
  1. В обработчике события Enter:
if (userNameField.Text == "Введите имя")
{
  userNameField.Text = "";
  userNameField.ForeColor = System.Drawing.Color.Black;
}
  1. В обработчике события Leave:
if (userNameField.Text == "")
{
  userNameField.Text = "Введите имя";
  userNameField.ForeColor = System.Drawing.Color.Gray;
}

Аналогично реализуйте для userSurnameField. Дополнительные поля – домашнее задание.

Тестирование

Запустите приложение и протестируйте функциональность формы регистрации.

В этом уроке мы создали функциональное окно регистрации пользователя, добавив обработку событий и реализовав пользовательские подсказки для полей ввода.

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