ユーザー名とパスワードを挿入すると、関連フォームはロードされません。ログイン画面のみが非表示/非表示になります。ユーザーロール/パスワード/ everythinは100%正しいです。 「役割」の出力も正しい。 お知らせください。C#フォームはswitch文でロードされません
private void btnLogin_Click(object sender, EventArgs e)
{
try
{
DataTable result = uc.Login(tbxUserName.Text, tbxPassword.Text);
if (result.Rows.Count == 1)
{
this.Hide();
string role = result.Rows[0]["Role"].ToString();
switch (role)
{
case "User":
FrmUser fuser = new FrmUser();
fuser.ShowDialog();
this.Close();
break;
case "Admin":
FrmMain fmain = new FrmMain();
fmain.ShowDialog();
this.Close();
break;
}
}
else
{
MessageBox.Show ("Invalid User Name or Password", "Incorrect Login Details",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
スイッチケースの近くにブレークポイントを置き、テストしましたか? –
あなたは 'fuser.ShowDialog()'の代わりに 'fuser.Show()'を試しましたか? ShowDialogは結果を返すまで親フォームへのアクセスを制限するモーダルフォームを返します。http://msdn.microsoft.com/en-us/library/c7ykbedk(v=vs.110).aspx –
私は試しました。同じ結果。パスワードを挿入すると、すべてが消えますが、ビジュアルスタジオはアプリケーションがまだ実行中であることを示しています。 – ceranda