我有一个登录表单和一个按钮,用于检查用户名和密码是否为真。但问题是我试过的代码..我必须点击连接按钮两次。
但是当我单击按钮一次时,代码应该可以工作!正确的 ?
我认为问题是:如果我单击某个按钮,它的 DialogResult 设置为某个值,那么 showDialog 不会消失,因此在第一次单击时 connexionButton.DialogResult 获取 DialogResult.OK 值,然后在第二次单击按钮执行代码。
*您可以注意到事件 simpleButton1_Click 是 connexionButton 按钮的事件*
这是我使用的事件:
this.connexionButton.Click += new System.EventHandler(this.simpleButton1_Click);
这是我尝试过的代码:
private void simpleButton1_Click(object sender, EventArgs e)
{
Boolean allowCnx = false;
foreach (var row in myClass.ds.Tables["Users"].AsEnumerable())
{
if (row[1].ToString().ToLower() == idBox.Text.ToLower() && row[2].ToString().ToLower() == mdpBox.Text.ToLower())
{
allowCnx = true;
}
}
if (allowCnx)
{
connexionButton.DialogResult = DialogResult.OK;
}
else
XtraMessageBox.Show("Invalide Information", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
这是我用来调用此登录表单的代码:
using (login loginForm = new login())
{
var result = loginForm.ShowDialog();
if (result == DialogResult.OK)
this.Show();
else
this.Close();
}