ログインフォームと、ユーザー名とパスワードが正しいかどうかを確認するボタンがあります。しかし、問題は私が試したコードです..接続ボタンを2回クリックする必要があります。
しかし、ボタンを1回クリックすると、コードは機能するはずです。右 ?
問題は次のとおりです。DialogResultが値に設定されているボタンをクリックしただけではshowDialogが消えないため、最初のクリックでconnexionButton.DialogResultがDialogResult.OK値を取得し、2番目のボタンをクリックします。コードを実行します。
*イベント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();
}