winform 阻止任务栏右键关闭事件 如果解决可以增加悬赏分。

winform 阻止任务栏右键关闭事件 如果解决可以增加悬赏分。,第1张

C#中有一个 private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)的函数,就是点击关闭窗口是所触发的线程。

网上这中对这个做法很多如:

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 的回答很搞笑


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11715251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存