首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何只隐藏关闭(x)按钮?

如何只隐藏关闭(x)按钮?
EN

Stack Overflow用户
提问于 2011-09-05 04:09:40
回答 5查看 260.1K关注 0票数 167

我有一个模式对话框,需要隐藏Close (X)按钮,但我不能使用ControlBox = false,因为我需要保留最小化和最大化按钮。

我只需要隐藏关闭按钮,有什么方法可以做到吗?

非常感谢!

更新:我有权限禁用它,这很简单:)谢谢大家!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-05 04:10:52

您不能隐藏它,但可以通过重写窗体的CreateParams属性来禁用它。

代码语言:javascript
复制
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;
    }
}

来源:http://www.codeproject.com/KB/cs/DisableClose.aspx

票数 158
EN

Stack Overflow用户

发布于 2012-11-10 04:20:54

我们可以通过设置this.ControlBox=false;来隐藏表单上的关闭按钮

请注意,这将隐藏所有这些大小调整按钮。不只是X。在某些情况下,这可能是好的。

票数 175
EN

Stack Overflow用户

发布于 2011-09-05 04:27:26

你可以通过删除整个系统菜单来隐藏它:

代码语言:javascript
复制
private const int WS_SYSMENU = 0x80000;
protected override CreateParams CreateParams
{
    get
    {
        CreateParams cp = base.CreateParams;
        cp.Style &= ~WS_SYSMENU;
        return cp;
    }
}

当然,这样做会删除最小化和最大化按钮。

如果您保留了系统菜单,但删除了关闭项,则关闭按钮仍然存在,但被禁用。

最后一种选择是自己绘制非工作区。这是很难做到的。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7301825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档