我有一个(登录)表单,它使用它作为这样的模态(父表单代码):
using (var login = new Login())
{
login.ShowDialog();
}
我对打开的模态对话框进行了一些检查,如果用户名和密码错误,我希望它不会在按下OK按钮时关闭。
我的登录信息:
private void goSignIn_Click(object sender, EventArgs e)
{
var loggedInCustomer =LoginController.signIn(usernameBox.Text, passwordBox.Text);
if (loggedInCustomer == null)
{
MessageBox.Show("Wrong username or password! :( ", "Wrong!");
}
else
Close();
}
答案 0 :(得分:2)
检查按钮(goSignIn)DialogResult属性。如果已设置,则会自动关闭表单。
如果此属性的DialogResult设置为None以外的任何值,并且如果通过ShowDialog方法显示父窗体,则单击该按钮将关闭父窗体,而无需挂接任何事件。然后,单击按钮时,窗体的DialogResult属性将设置为按钮的DialogResult。
答案 1 :(得分:2)
我猜您已将DialogResult
goSignIn
按钮设置为某个值(可能是DialogResult.OK
),删除该行,一切都应该正常工作。
答案 2 :(得分:0)
不要打电话关闭
private void goSignIn_Click(object sender, EventArgs e)
{
var loggedInCustomer =LoginController.signIn(usernameBox.Text, passwordBox.Text);
if (loggedInCustomer == null)
{
MessageBox.Show("Wrong username or password! :( ", "Wrong!");
}
else
{
Close();
}
}