我有一个模式对话框,需要隐藏Close (X)按钮,但我不能使用ControlBox = false
,因为我需要保留最小化和最大化按钮。
我只需要隐藏关闭按钮,有什么方法可以做到吗?
非常感谢!
更新:我有权限禁用它,这很简单:)谢谢大家!
发布于 2011-09-05 04:10:52
您不能隐藏它,但可以通过重写窗体的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;
}
}
发布于 2012-11-10 04:20:54
我们可以通过设置this.ControlBox=false;
来隐藏表单上的关闭按钮
请注意,这将隐藏所有这些大小调整按钮。不只是X。在某些情况下,这可能是好的。
发布于 2011-09-05 04:27:26
你可以通过删除整个系统菜单来隐藏它:
private const int WS_SYSMENU = 0x80000;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style &= ~WS_SYSMENU;
return cp;
}
}
当然,这样做会删除最小化和最大化按钮。
如果您保留了系统菜单,但删除了关闭项,则关闭按钮仍然存在,但被禁用。
最后一种选择是自己绘制非工作区。这是很难做到的。
https://stackoverflow.com/questions/7301825
复制相似问题