【发布时间】:2015-01-26 21:29:49
【问题描述】:
我正在尝试关闭当前表单并在我的登录中打开主表单。我正在尝试按照已接受的答案here 中的方式进行操作。这就是我修改 Program.cs 的方式。登录表单工作正常。它打开登录表单。但是当我登录时如何显示主要?如何使用此对话框会导致我的登录表单显示主要内容。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
using (var login = new frmLogin())
{
if (login.ShowDialog() != DialogResult.OK) return;
}
Application.Run(new frmMainAdmin());
}
如何在我的登录表单中实现上述代码中给出的对话框结果?我真的不明白。
这是我在登录表单中执行登录的方式。在按钮单击事件中。
SqlDataReader reader = new loginUserOP().userLogin(txtUserID.Text, txtpwd.Text);
if (reader.HasRows)
{
while (reader.Read())
{
LoggedUserInfo.lguserfname = (String)reader[0];
LoggedUserInfo.lguserlname = (String)reader[1];
LoggedUserInfo.lgusercategory = (String)reader[2];
LoggedUserInfo.lguserloginid = (String)reader[3];
LoggedUserInfo.lguserid = (int)reader[4];
}
reader.Close();
}
【问题讨论】:
-
frmMainAdmin是否在设计器中将Visible设置为false?Application.Run应该使表单可见,您不需要做任何事情。 -
frmLogin 实际上包含敏感信息(和资源),使用语句简单地处理它。当然,如果您需要任何形式的内容,则必须将其保存到该范围之外的变量中...
-
@AdrianoRepetti 这超出了问题的范围。
-
@James 不,这不是假的。我不明白的是,当我在登录表单中执行登录功能时要设置什么?当我执行登录以显示该对话框结果时,我是否必须设置任何值?
-
@chathwind 我想你看到了
frmLogin?那么,在实际应用程序中,您当然需要验证登录详细信息在启动之前,然后再启动应用程序。但是,在示例中,在登录表单上单击“确定”就足以假设登录成功并且主表单显示。