c# Form Minimize/Maximize 按钮不见了?

c# Form Minimize/Maximize Buttons gone?

在我的一个表单上,Minimize/Maximize 按钮不见了。 ControllBox 设置为 trueMaximizeBoxMinimizeBox

我是否遗漏了一些其他设置?

检查您在该表格上的 FormBorderStyle

FixedToolWindow and SizableToolWindow and None 根本没有这些控件。

游戏来晚了,我仍然想分享我的答案,因为我花了好几个小时寻找修复。我的表单已按应有的方式设置了所有属性,但仍然无法显示 minimize/maximize 按钮。

罪魁祸首覆盖了我表单中的 CreateParams 方法,例如

    protected override CreateParams CreateParams
    {
        get
        {
            CreateParams Params = base.CreateParams;
            Params.ExStyle |= 0x80;
            return Params;
        }
    }

我重写此方法的初衷是从任务切换器 (alt-tab) 中隐藏我的应用程序。我没有想到这是不显示上述按钮的原因,唉,是的。

为了进一步参考,here is the documentation of the flags

在我的项目中,FormBorderStyle 已经设置为 FixedSingle。所以,我不确定为什么 MinimizeBox/ MaximizeBox 仍然不可见。然后,不知何故,我设法为此找到了替代解决方案。


在您的 C# 项目中,只需按:Ctrl+Shift+F 按钮,然后搜索 MinimizeBox/MaximizeBox 变量。

起初我很惊讶地发现它的值设置为False。因此,为了修复,我只是将值从 False -> True 更改为然后,问题就解决了。


在我这里,由于是开源项目,所以作者改了它的值。所以,我只需要使用 Microsoft Visual Studio 的 Find in Files 函数找到那些变量。也可以在微软Visual Studio的菜单栏中找到:Edit -> Find and Replace -> Find in Files.

希望对大家也有用!