网上这中对这个做法很多如:
private void MainForm_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
this.Hide() //1
this.notifyIcon1.Visible=true//2、 这两句是配合 最小化后窗口到托盘用的,
e.Cancel = true //取消 关闭事件的值,当 e.cancel=true时,点击关闭按钮就不好用了
}
不过楼主要注意,像private void Form1_Closing是要注册的,不然无法触发。
到Form名称.Designer里的private void InitializeComponent()里面加上一句下面语句最好加在
//
// MainForm
//
下面,这样比较好找
(我的窗体名称是:MainForm,你可以根据自己的窗体名来更改语句)
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing)
方法很多 也有很多种情况如果form2是form1的子窗体 那么直接 (this.Parent as form1).Close()
如果form1是程序的主窗体 那么直接在form2的Closing事件里写 Application.Exit()可以在form2关闭的同时 关闭掉整个程序
如果form1和form2都属于mainform的话 那么在mainform里写一个关闭form1的public方法closeForm1() 然后(this.Parent as mainform).closeForm1()
最最最最最笨的方法是用sendMessage()来实现 在form2关闭时通过程序句柄向form1发送消息 当form1接收到消息后 this.close()
你需要把情况说清楚 我才知道你适合用哪一种办法
mcxinngp 的回答很搞笑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)