Одна форма - это путь, после успешного завершения которого программа может перейти к следующей форме.
Создайте одну форму, открывающую поля имени пользователя / пароля с помощью двух кнопок «Принять» / «Отмена».
Создайте класс модели, который обрабатывает попытки входа в систему и успешное поведение.
public class LoginModel {
private LoginForm view;
public LoginModel() {
view = new LoginForm(this);
}
public void Show() {
view.Show();
}
public bool LoginAttempt(string user, string pass) {
// Process login attempt (call LDAP backend etc...).
}
}
В вашей LoginForm вам нужно вызвать LoginAttempt(string, string)
из события OnClick
кнопки входа в систему, затем вы можете поместить его в фоновую ветку, если хотите. после успешной попытки входа в систему вы можете вызвать метод Close
.
В вашей модели вам также понадобится событие, чтобы сообщить вызывающей стороне об ошибке успеха.
Альтернативный подход может быть достигнут путем повторного открытия формы, аналогичной подходу, который я использовал здесь в примере приложения, демонстрирующего призму ( CWPF Samples ), если вы посмотрите на проект поздней ночи.