欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# winform取消右上角关闭按钮的实现方法

程序员文章站 2024-02-13 15:34:40
 一种方法是可以在窗体的属性面板将窗体的 controlbox属性设置为false,或者在窗体的构造函数中这样写:复制代码 代码如下:public form1()...

 一种方法是可以在窗体的属性面板将窗体的 controlbox属性设置为false,或者在窗体的构造函数中这样写:

复制代码 代码如下:

public form1()

{

initializecomponent();

this.controlbox = false;   // 设置不出现关闭按钮

}
     
不过这样做的话,会连同最小化和最大化按钮都给弄掉了,所以,如果你想只想让关闭按钮不起作用,然后保留最小化、最大化的话,就重写窗体的createparams方法:
复制代码 代码如下:

//禁用窗体的关闭按钮

private const int cp_noclose_button = 0x200;

protected override createparams createparams

{

get

{

createparams mycp = base.createparams;

mycp.classstyle = mycp.classstyle | cp_noclose_button;

return mycp;

}

}

或者取消左上角的关闭事件执行
复制代码 代码如下:

private void form1_closing(object sender, system.componentmodel.canceleventargs e)

{

e.cancel = true;

}

// 重写onclosing使点击关闭按键时窗体能够缩进托盘

protected override void onclosing(canceleventargs e)

{

this.showintaskbar = false;

this.windowstate = formwindowstate.minimized;

e.cancel = true;

}