读书人

C#窗体间通信有关问题

发布时间: 2012-06-03 16:59:40 作者: rapoo

C#窗体间通信问题
(C#)在窗体1中创建并打开一个窗体2(不是子窗体),当窗体2关闭时,如何使窗体1也同时关闭?

[解决办法]
Form1.cs

C# code
         private void Form1_Load(object sender, EventArgs e)         {            Form2 f2 = new Form2();            f2.FormClosed += new FormClosedEventHandler(f2_FormClosed);            f2.Show();        }        void f2_FormClosed(object sender, FormClosedEventArgs e)        {            this.Dispose();        }
[解决办法]
创建两个窗体f1 f2

在f1中写如下代码
public Form1()
{
InitializeComponent();
}
Form2 myfrm;//声明窗体对象
private void button1_Click(object sender, EventArgs e)
{
myfrm = new Form2();//实例化窗体Form2
myfrm.Show();//显示窗体
myfrm.Controls.Add(this.label1); //将控件添加到窗体Form2中

}
private void label1_Click(object sender, EventArgs e)
{

this.label1.Text = "关闭窗口";//控件显示的内容
this.Close();
}
[解决办法]
C# code
Application.Exit()
[解决办法]
如果你是想退出整个程序的话,Application.Exit(),当然窗体1也关了,
如果你显示用的是showDiglog的话,就在下一行代码直接窗体1.close
如果你是show的话,将窗体一传给窗体二变量中,在窗体二的colsed事件中关闭窗体1
[解决办法]
还可以
方法一
C# code
            Form2 frm = new Form2();            frm.ShowDialog();            this.Close(); 

读书人网 >C#

热点推荐