winforms 是否在可调整大小的工具窗口上显示最小化和最大化按钮?

tnkciper  于 2022-11-17  发布在  其他
关注(0)|答案(4)|浏览(196)

我经常使用FormBorderStyle = SizableToolWindow来处理分辨率较小的显示器(如上网本)上的表单,以获得较小的标题栏高度和边框尺寸。
MaximimizeBox和MinimizeBox属性也设置为True,但由于只显示“关闭”按钮,因此它们似乎被忽略。
我也尝试过使用以下方法自定义窗口样式:

protected override CreateParams CreateParams
{
    get
    {

        CreateParams cp = base.CreateParams;


        cp.Style |= 0x00020000; // Turn on Minimize button

        cp.Style |= 0x00010000; // Turn on Maximize button

        return cp;
    }
}

但“最大化”和“最小化”按钮仍未显示。
默认情况下,可调大小的工具窗口实际上显示在任务栏中,并且可以通过右键单击任务栏图标来最小化/最大化,但这远不如通常在标题栏上显示按钮那么方便。
有什么建议吗?

yeotifhr

yeotifhr1#

Windows根本不支持它,你不能强迫它做其他事情。顺便说一句,你的工作不是在上网本机器上强制一个窗口样式。用户通过控制面板的显示+外观标签来做这件事。当用户自己可以很容易地做到这一点时,最好避免在你的UI上强加你的个人偏好。让它在所有应用程序中保持一致。并保留最小/最大按钮。

xkrw2x1b

xkrw2x1b2#

除非实现自定义的标题栏和非工作区,否则您无法实现。正如nobugz所说,Windows不支持这种样式组合。您可以在标准工具窗口标题栏上滚动自己的最小/最大按钮,但我不推荐这样做。

jfewjypa

jfewjypa3#

您可以将FormBorderStyle设为FixedDialog,然后将MaximizeBox设为False。这会让应用程序视窗左上角的[最小化]和[关闭]按钮保持作用中状态。

af7jpaap

af7jpaap4#

对于那些在最新版本的visual studio中看到windows窗体解决方案的人来说,他们不想调整窗体的大小并允许最小化,将FormBorderStyle设置为FixedDialog以固定大小,然后将MaximumSize设置为与主大小相同的大小。这将为您提供最大和最小图标,并使窗体保持相同的大小。

相关问题