Создание нескольких форм с использованием форм Windows в C#?
Я хочу создать две формы: LoginForm и BaseForm.
LoginForm создается первым и содержит кнопки "Войти" и "Отмена". Когда пользователь нажимает кнопку "Войти", LoginForm должен быть закрыт, а BaseForm должен быть создан и открыт.
Когда пользователь нажимает кнопку "Отмена" в LoginForm, он должен закрыться.
Как мне это сделать? Кто-нибудь может дать мне хорошее решение для этого?
Решение:
В основном():
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
LoginForm form=new LoginForm();
if(form.showDialog()==DialogResult.OK)
{
form.close();
Application.Run(new BaseForm());
}
else
form.close();
}
4 ответа
В основной функции вашего приложения:
- Создать форму входа и использовать
ShowDialog()
чтобы показать это модально. - Получить запрошенное действие из значения, возвращенного
ShowDialog()
, - Если пользователь нажал кнопку "Отмена", вернитесь из основной формы и закройте приложение.
- В противном случае создайте основную форму и передайте ее
Application.Run()
,
Если вы сделаете это в таком порядке, то основная форма не будет отображаться до тех пор, пока ваш пользователь не завершит работу с формой входа.
У меня есть приложение, требующее входа в систему, и в методе инициализации я проверяю, вошел ли пользователь в систему. Если это не так, я открываю модальное окно с приглашением для входа. Если они отменяют это, я закрываю приложение.
Код для показа модальных:
var login = new Login();
login.ShowDialog();
Кнопка отмены входа в систему будет вызывать что-то вроде:
Application.Exit();
private void buttonLogIn_Click(object sender, EventArgs e)
{
LoginForm loginForm = new LoginForm ();
loginForm .Show();
this.Hide();
}
private void buttonCancel_Click(object sender, EventArgs e)
{
this.Close();
}
Вы можете просто открыть основную форму, проверить, аутентифицирован ли пользователь. Затем покажите форму входа в систему и, если пользователь отменяет форму входа, просто закройте приложение.