C#GUI编程时怎样操作一个窗口去关闭另一个窗口

RT..用一个窗口去操作另一个窗口关闭的代码。。。

1)如果是一个主窗体与一个副窗体之间传信息,那么可以用构造函数,代码如下:
窗体1:
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Form2 aform2; //声明一个FORM2字段

private void button1_Click(object sender, EventArgs e)
{
aform2 = new Form2(this);
//调用重载的FORM2构造函数, 该构造函数设定了form2中的aform1 字段为“this”
aform2.label1.Text = "this is set from form1"; //窗体2中lable1设为公用
aform2.Show();
}
}
}

窗体2:

namespace WindowsApplication2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 aform1; //声明FORM1字段
public Form2(Form1 myform1) //重载一个构造函数
{
InitializeComponent();
this.aform1 = myform1; //通过该构造函数,设定aform1字段值
}
private void button1_Click(object sender, EventArgs e)
{
this.aform1.label1.Text = "this is set from2"; //控制form1 form1.label1设为公用
}
}
}
2)如果是一个主窗体与多个副窗体,则应在主窗体的Designer.cs中实例化副窗体,如这样:
public ShiFeiResolution.VegetableForm vegetableform = new VegetableForm();//注意它们是主窗体的属性!!!
public ShiFeiResolution.XiaoMaiYuMiForm XiaoMaiYuMiform = new XiaoMaiYuMiForm();
public ShiFeiResolution.FruitForm fruitForm = new FruitForm();
这样可在主窗体中直接应运。
3)如果是多个主窗体与一个副窗体之间传递信息,比如说点击任何一个主窗体中的按纽,就会弹出同一个副窗体(是同一个,而不是同样的窗体),就要在主窗体中这样写:
GetSoilInfo getinfo; //相当于一个temp变量
getinfo = (GetSoilInfo)Application.OpenForms["GetSoilInfo"];

if (getinfo == null)
getinfo = new GetSoilInfo();//是否存在,如不存在,则创建
if (checkBox2.Checked == true) getinfo.Show();
else (checkBox2.Checked == false)
getinfo.Hide();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-15
需要先得到要关闭窗口的对象,就可以用对象.close()就可以
第2个回答  2013-10-15
窗口实例名称.Close();

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网