C# form调用问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/30 05:15:49
form1中的一个按钮的带码是这样的:Form2 f2=new.Form2();
f2=Form2.Show();
Form.Hide;
问题:怎样在关闭Form2的时候Form1又弹回来?和点击钮又回到Form1?满意加分啊!

一楼的肯定不行,这样来回几次内存吃不消

你是用Form1来创建Form2的,可以这样:

form1中的一个按钮的代码是这样的:
Form2 f2=new.Form2();
f2=Form2.Show(this);//注意这个this很重要
Form1.Hide();

然后在Form2的关闭事件中加入:
Form1 f1 = (Form1)this.Owner;//相当于获取父窗口
f1.Show();

这样就可以了,这种方法的好处是不需要将Form1作为Form2的成员,也不需要将Form2作为Form1的成员

他们的都麻烦,看这
在Program类中把代码修改成
Form1 f1 = new Form1();
f1.Show();
Application.Run();
然后在你要点击form1里面的按钮时代码
Form2 f2 = new Form2();
this.Close();
f2.Show();
你说要关闭form2又出来form1,那你可以在form2里面写关闭事件代码啊
Form1 f1 = new Form1();
this.Close();
f1.Show();
我这没有vs,所以我这写代码有点麻烦!

有点没明白楼主的意思
你是不是想调出FORM2窗体然后使FORM1关闭?那么这样就可以了;
Form2 f2=new Form2();
f2.Show();
this.Hide();//this代表Form1.意思是调出Form2后将Form1隐藏

一楼的办法解决不了问题.
你应该在form2的构造函数中加个一form的参数,这样能很方便的解决问题.
form1 ff;
public Form2(Form1 f)
{
InitializeComponent();
ff=f;