第一个问题就是在登录的时候验证正确的时候关闭登录窗体 显示主窗体
解决方法:
方法1: 在主窗体中先定义一个login窗体 再用 login 实例化一个窗体 并让该窗体以对话框的形式显示, 根据DialogResult的值来判断是否关闭该登录窗体 判断之后在运行主窗体
代码示例:
主窗体代码:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
Login log = new Login();
log.ShowDialog();
if (log.DialogResult == DialogResult.OK)
{
Application.Run(new Main());
}
}
login窗体的代码:
private void button1_Click(object sender, EventArgs e)
{
// 判断用户名和密码是否正确的代码
if (验证正确)
{
this.DialogResult = DialogResult.OK;
}
else
{
MessageBox.Show("输入的用户名或者密码错误!请重新输入!");
}
}
——————————————————————————
方法2:
首先程序load主frmMain,主frmMain就会new一个Login并弹出登陆窗口,在登陆窗口验证密码正确以后设置 DialogResult.OK这一句,再将对话框关闭。关闭以后from_load方法继续运行判断弹出的登陆框f2的DialogResult是否是 ok,如果是,则加载主表单,如果否,则关闭主表单。
在private void frmMain_Load(object sender, EventArgs e) 方法里添加以下代码
Form f2 =new Login();
f2.ShowDialog();
if (f2.DialogResult == DialogResult.OK)
{
MessageBox.Show("hello");
}
else
{
this.Close();
}
在private void btnLogin_Click(object sender, EventArgs e)里添加以下代码
if (Reader.HasRows)//判断是否有查询到对象的数据
{
this.DialogResult = DialogResult.OK;
this.Close();
}
主要原理就是利用的DialogResult = DialogResult.OK来实现的,
转载于:https://blog.51cto.com/marsng/1757794
本文介绍了两种在登录验证成功后关闭登录窗体并显示主窗体的方法。方法一使用了DialogResult属性来判断登录是否成功;方法二则通过设置DialogResult.OK并在主窗体中检查此值来实现同样的功能。
2163

被折叠的 条评论
为什么被折叠?



