winform实现关闭按钮失效的两种方法

时间:2022-01-13 12:47:36

本文实例讲述了winform实现关闭按钮失效的两种方法。分享给大家供大家参考。具体如下:

第一种:

?
1
2
3
4
5
6
7
8
9
10
protected override void WndProc(ref Message m)
{
 const int WM_SYSCOMMAND = 0x0112;
 const int SC_CLOSE = 0xF060;
 if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
 {
  return;
 }
 base.WndProc(ref m);
}

这种方法让窗体的关闭按钮还是存在的,但是,鼠标操作关闭按钮是没有效果的。这种一般在系统利用第三方控件后,出现别的方法使禁用关闭按钮失效,但是,这种方法可以确保万无一失。(比如,系统在利用皮肤控件后,加载别的方法来禁用窗体的关闭按钮,这时你会发现,窗体的关闭按钮禁用无效。那么,就用这种方法)

第二种:

?
1
2
3
4
5
6
7
8
9
10
protected override CreateParams CreateParams
{
 get
 {
  int CS_NOCLOSE = 0×200;
  CreateParams parameters = base.CreateParams;
  parameters.ClassStyle |= CS_NOCLOSE;
  return parameters;
 }
}

希望本文所述对大家的C#程序设计有所帮助。