C#打开一个新窗体的时候关闭另一个窗体 5
我的两个窗体form1和form2在form1里点按钮弹出form2但是要把form1管闭我用的是this.close()但是这样的话就都关了我的代码//打开窗体frmM...
我的两个窗体form1和form2 在form1里点按钮弹出form2 但是要把form1管闭 我用的是this.close() 但是这样的话就都关了
我的代码
//打开窗体
frmMain main = new frmMain();
main.Show();
this.close(); 展开
我的代码
//打开窗体
frmMain main = new frmMain();
main.Show();
this.close(); 展开
5个回答
展开全部
哈哈果然有人遇到这个问题啊。。过去我为这个都苦恼了好几天,才想出来办法。
在你的程序目录下打开这个文件Program.cs。你将会看到这段代码
这个是你的的程序初始窗体,也就是父窗体
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());//这里的Form1就是个父窗体
}
你想想如果父亲都关闭了,然后你又派生子窗体,不可能啊。这个和JAVA不一样。父亲都没啦,哪里来的儿子啊。你得想个办法来2个父窗体对吧。(比喻可能不恰当)
所以你得这样解决。给你个例子
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
form1 f1=new form1();
Application.Run(f1);
//到此再来一个另外的父窗体,就是你关闭了第一个父窗体,又要打开的一个窗体。比如叫做form2
form2 f2=new form2()
Application.Run(f2);
}
按照上面的写的话程序执行到 this.close()就将f1关闭了,这个时侯他才会执行f2。这样写你就不用new什么东西了 你要关闭第一个父窗体直接this.close()
他就会执行第二个父窗体啦。
======================================================================
上面都是我做项目的经验啊。呵呵。。如果不是看着你和我遇到同样的问题,我才不回答呢。我既然要回答当然就回答的非常详细。不过你给5分,是不是太……,如果你觉得过意过去就这么办吧。。。。哎~~~~
在你的程序目录下打开这个文件Program.cs。你将会看到这段代码
这个是你的的程序初始窗体,也就是父窗体
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());//这里的Form1就是个父窗体
}
你想想如果父亲都关闭了,然后你又派生子窗体,不可能啊。这个和JAVA不一样。父亲都没啦,哪里来的儿子啊。你得想个办法来2个父窗体对吧。(比喻可能不恰当)
所以你得这样解决。给你个例子
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
form1 f1=new form1();
Application.Run(f1);
//到此再来一个另外的父窗体,就是你关闭了第一个父窗体,又要打开的一个窗体。比如叫做form2
form2 f2=new form2()
Application.Run(f2);
}
按照上面的写的话程序执行到 this.close()就将f1关闭了,这个时侯他才会执行f2。这样写你就不用new什么东西了 你要关闭第一个父窗体直接this.close()
他就会执行第二个父窗体啦。
======================================================================
上面都是我做项目的经验啊。呵呵。。如果不是看着你和我遇到同样的问题,我才不回答呢。我既然要回答当然就回答的非常详细。不过你给5分,是不是太……,如果你觉得过意过去就这么办吧。。。。哎~~~~
展开全部
只能先把FROM1隐藏了,不能直接关的,在FROM2关闭的时候他会一起关闭
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.由于form1是你的主窗体,关闭form1当然整个项目就关闭了,除非你另行指定初始的主窗体。
2。可以如下操作,以便保证用户在打开form2的时候无法对form1进行操作
frmMain main = new frmMain();
main.ShowDialog();
3。或者,隐藏form1
frmMain main = new frmMain();
main.Show();
this.hide();
2。可以如下操作,以便保证用户在打开form2的时候无法对form1进行操作
frmMain main = new frmMain();
main.ShowDialog();
3。或者,隐藏form1
frmMain main = new frmMain();
main.Show();
this.hide();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2=new Form2();
f2.Show();
this.Hide();
}
{
Form2 f2=new Form2();
f2.Show();
this.Hide();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用this.hide()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询