c#窗体之间的转换问题form1和form2
我的构思是form1的用户登录界面,登录成功则进入form2。现在步很容易就实现了,但是用的隐藏form1,隐藏会占用资源吗?主要问题:form2点关闭的时候并不能结束整...
我的构思是form1的用户登录界面,登录成功则进入form2。现在步很容易就实现了,但是用的隐藏form1,隐藏会占用资源吗?
主要问题:
form2点关闭的时候并不能结束整个程序,这个问题很纠结。我用了一个判断,就是在form1上判断form2是不是close事件,结果运行的时候两个窗体同时出现。
现在我就是想关闭form2能结束整个程序。
我以前用的是form2作为登录窗体,结果更麻烦。请高手赐教!!!! 展开
主要问题:
form2点关闭的时候并不能结束整个程序,这个问题很纠结。我用了一个判断,就是在form1上判断form2是不是close事件,结果运行的时候两个窗体同时出现。
现在我就是想关闭form2能结束整个程序。
我以前用的是form2作为登录窗体,结果更麻烦。请高手赐教!!!! 展开
4个回答
展开全部
方法一:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Main());//主窗体先运行
}
private void Main_Load(object sender, EventArgs e)
{
Login loginFrm = new Login();
if (loginFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
//TODO:登录成功后的处理代码在这里写
.....
loginFrm.Close();//关闭登录窗体
}
else
{}
}
登录窗体,登录按钮事件:
private void btnLogin_Click(object sender, EventArgs e)
{
//TODO: 验证用户
//如果验证成功,则返回DialogResult.OK
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
方法二:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());//登录窗体先运行
}
登录窗体,登录按钮事件:
private void btnLogin_Click(object sender, EventArgs e)
{
this.Hide();//隐藏登录窗体,会占用资源,不过可以忽略
Main mainFrm = new Main();//主窗体
mainFrm.Show();
}
主窗体关闭事件:
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();//退出程序
}
展开全部
1、隐藏form1,隐藏会占用资源,不过很少,不用担心
2、关闭form2,关闭整个程序的方法:
添加一个FormClosed事件
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();//这样就可以退出整个程序
}
2、关闭form2,关闭整个程序的方法:
添加一个FormClosed事件
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();//这样就可以退出整个程序
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般不会这样弄,而是更改program.cs,大致如下(假定Form1为登陆窗口)
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 login = new Form1();
login.ShowDialog();
if (login.DialogResult.Equals(DialogResult.OK)) //登陆成功才显示主窗口
{
Application.Run(new Form2());
}
}
然后在Form1中,点击确定后如果密码验证通过并登录成功,那么就
this.DialogResult = DialogResult.OK;
然后再关form2就没问题。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 login = new Form1();
login.ShowDialog();
if (login.DialogResult.Equals(DialogResult.OK)) //登陆成功才显示主窗口
{
Application.Run(new Form2());
}
}
然后在Form1中,点击确定后如果密码验证通过并登录成功,那么就
this.DialogResult = DialogResult.OK;
然后再关form2就没问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询