C#中如何通过From1中的按钮单击事件打开From2,From2关闭后再次点击From1中的按钮再次打开From2

From1中的代码段
Form2 f2 = new Form2();//只能放在这里实例化对象。作为全局变量
private void button1_Click(object sender, EventArgs e)
{
f2.Show();
}
From2中的代码段
private void Form2_Load(object sender, EventArgs e)
{
this.Hide();
}
单击From1中的按钮单击事件后From2显示出来,但是若要点击From2船体上的"x"关闭后再次单击From1中的按钮单击事件后From2不会出现,而出现下面的错误。新手学习!

你from2是Close的,所以再次调用的时候会报错,每次按钮的时候重新new一下窗体就可以了~
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-07
你在点击 x 的时候,你原先的实例化 Form2 f2 = new Form2(); f2已经被释放了,所以你再调用f2.Show();是肯定会报错的。需要重新实例化 Form2 窗体,在f2.Show()上面加 f2=new Form2()

C#中如何通过From1中的按钮单击事件打开From2,From2关闭后再次点击From...
f2=new Form2();} f2.Show();}

C#中如何通过From1中的按钮单击事件打开From2,From2关闭后再次点击From...
点击按钮,new一个Form2,然后show就行啊。如果你的意思是一直保持只有一个form2的话,那么就使用单例模式就行

请问在C#写winform程序的时候,点击form1中的button1打开form2后,如何...
我的理解是:点击form1的button按钮,弹出form2,当第二次点击button时就不弹出form2了,不知这样理解对不对?如果是这样的话:bool sign = true;\/\/设置一个标记变量,ture代表可弹出窗口,false代表不可弹出,这句放在全局变量的位置 form2 f2 = new form2();if(sign == true){ f2.show();...

c#winform编程 :form1按钮1打开form2 , form1按钮2改变form2tex
Form2 frm2 = null; private void btnOpenForm2_Click(object sender, EventArgs e) { frm2 = new Form2(); frm2.Show(); } private void button1_Click(object sender, EventArgs e) { frm2.TextBoxValue = txtChange.Text; }Form2窗体后台代码:public string...

...结果,点击一个按钮新建一个form2并显示form1中的某个结果
按钮单击事件 From2 f2=new From2();f2.GetB(this);f2.show();然后在写两个方法用来接受和传递 public void SetA(string str) \/\/用途第二个窗体来设置第一个窗体的至 { this.txtbox.text=str } public string GetA()\/\/用途将第一个窗体值传给第二个窗体 { return this.txtbox1....

我建了Form1,和Form2想点击按钮然后显示Form2,并且form2上的控件调用...
创建form2的构造函数,在参数中加入一个form1类型。比如 在form2.cs中 private Form1 form1;public Form2(Form1 form1){ this.form1 = form1;} 这样就可以调用form1中的空件的值了。在form1中打开form2很简单。就用 new Form2(this).Show(……);就OK了。

C#中,当弹出Form2窗体时,如何让Form1窗体关闭?也就是说始终只有一个窗体...
frm2.Show();Form1.closed();\/\/这个是让Form1关闭.如果Form1是初始显示的窗体,则所有窗体都要关闭(包括Form2窗体.即:Form2打开瞬间又关闭);这时就需要用下面的语句了:Form1.Hide();\/\/该语句是让Form1隐藏起来,还在运行中...当想关闭时别忘了用:Appliction.Close();希望对你有所帮助!!!

C#,按钮按下后隐藏按钮所在窗体,并运行另一个窗体
Form { public Form1(){ InitializeComponent();} private void button1_Click(object sender, EventArgs e){ Form2 form2 = new Form2();\/\/form2.Show();this.Hide();if (form2.ShowDialog() == DialogResult.OK){ this.Show();} } } } 这样就行了,在form2关闭后就会弹回到form1 ...

C#中在一个窗体中通过按钮打开另一个窗体
1、在winform项目点击右键-添加-新建项-Windows Forms-Windows 窗体,新建一个要弹出的窗体Form2。2、在Form1中拖入一个button,修改Text属性为弹出窗体。3、双击按钮,进入代码编写界面。4、编写代码“Form2 form2=new Form2;form2.ShowDialog();”。5、点击启动按钮,或者按F5键,运行程序。6、点击...

form1中button,form2两个窗体,如何实现不管按几次button按钮,仅能...
在form1 后台代码里设置一个全局的布尔变量存储是否出发button事件的状态 button_click事件点击了一次后,将该全局的布尔变量的值改变,下次再单击该form1中button时判断布尔值是否已经改变,改变了说明不是第一次单击,就不需要弹出form2窗体了

相似回答
大家正在搜