一个关于窗体的初级问题(C#WINFORM)
程序启动窗体为A,在A窗体中NEW一个窗体B,显示窗体B,同时窗体A隐藏。
要在窗体B关闭时,再将A显示出来,请问要如何做?
问题点数:30、回复次数:12Top
1 楼usepc(usepc)回复于 2005-05-31 21:06:07 得分 3
private void Form1_Load(object sender, System.EventArgs e)
{
Form2 b=new Form2();
b.ShowDialog();
this.Hide();
}Top
2 楼dutguoyi(新鲜鱼排)回复于 2005-05-31 21:52:57 得分 3
private void Form1_Load(object sender, System.EventArgs e)
{
Form2 b=new Form2();
b.ShowDialog();
this.Hide();
}
Form2的事件中可以
Form1 c=new Form1();
c.Show();
this.Close();
Top
3 楼dutguoyi(新鲜鱼排)回复于 2005-05-31 21:53:52 得分 0
如果要是更複雜的,就需要使用委託了.Top
4 楼clrclr(冰封之泪)回复于 2005-05-31 22:43:46 得分 0
Form1 c=new Form1();
c.Show();
this.Close();
Form1只是隐藏了,现在再重新NEW一个,那得到的不是非原来的那个Form1了吗
我想将Hide的显示出来,而不要重新生成一个实例
请再指教!!谢谢Top
5 楼yunxiao_2004(云崤)回复于 2005-05-31 22:59:24 得分 3
利用Form1 的按钮 调用Form2窗体,下面的代码,可以实现你的要求,已经通过实例测试过.
private void button1_Click(object sender, System.EventArgs e)
{
this.Hide (); //可以将本窗体
Form2 frm = new Form2 ();
frm .ShowDialog ();
this.Show ();
}Top
6 楼hfy888(王兵)回复于 2005-05-31 23:02:07 得分 3
你试试这个
一定要记得在A窗体的导入事件中对B使用showDialog()方法
private void FormA_Load(object sender, System.EventArgs e)
{
Form2 b=new Form2();
b.showdialog();
}
Top
7 楼huangdun(惇惇)回复于 2005-05-31 23:23:17 得分 0
A中:
private void button1_Closed(object sender, EventArgs e)
{
B b=new B();
B.mynewForm.Closed +=new EventHandler(mynewForm_Closed);
b.Show();
this.Visible = false;
}
private void mynewForm_Closed(object sender, EventArgs e)
{
this.Visible = true;
}
B中点击窗体关闭按钮时就可以实现了;Top
8 楼huangdun(惇惇)回复于 2005-05-31 23:24:27 得分 0
修改:
A中:
private void button1_Click(object sender, EventArgs e)
{
B b=new B();
B.mynewForm.Closed +=new EventHandler(mynewForm_Closed);
b.Show();
this.Visible = false;
}
private void mynewForm_Closed(object sender, EventArgs e)
{
this.Visible = true;
}
B中点击窗体关闭按钮时就可以实现了;Top
9 楼clrclr(冰封之泪)回复于 2005-06-01 10:28:03 得分 0
上面的方法好像不行哦
B.mynewForm.Closed +=new EventHandler(mynewForm_Closed);
通不过Top
10 楼wh8254(租个老婆结婚~~)回复于 2005-06-01 10:32:01 得分 3
顶先!Top
11 楼huangdun(惇惇)回复于 2005-06-01 14:55:33 得分 15
不好意思应该是
在Form1中
private void button1_Click(object sender, System.EventArgs e)
{
Form2 b = new Form2();
b.Closed +=new EventHandler(b_Closed);
this.Visible = false;
b.Show();
}
private void b_Closed(object sender, EventArgs e)
{
this.Visible = true;
}
这样可以了!上面是我手写的没有在.net中写.Top
12 楼clrclr(冰封之泪)回复于 2005-06-01 15:13:31 得分 0
行了,谢谢!Top




