首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#窗体间通信有关问题

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

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(); 

热点排行