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;
}