在相当大的工具窗口上显示最小化和最大化按钮?

问题描述 投票:0回答:3

我经常使用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;
    }
}

但仍未显示“最大化”和“最小化”按钮。

默认情况下,相当大的工具窗口实际显示在任务栏中,并且可以通过右键单击任务栏图标来最小化/最大化,但这比仅仅像往常一样显示标题栏上的按钮要方便得多。

有什么建议?

c# winforms
3个回答
0
投票

如果没有实现自定义标题栏和非客户区域,则无法执行此操作。正如nobugz所说,Windows不支持这种风格组合。您可以在标准工具窗口标题栏的顶部滚动自己的最小/最大按钮,但我不推荐它。


2
投票

Windows根本不支持它,你不能强迫它做其他事情。 Fwiw,在上网本机器上强制使用窗口样式不是你的工作。用户通过“控制面板显示+外观”选项卡执行此操作。当用户可以自己轻松地将您的个人偏好推到UI上时,最好避免。并使其与所有应用程序保持一致。并保持最小/最大按钮。


0
投票

您可以让FormBorderStyle为FixedDialog,然后将MaximizeBox设置为False。这将仅在应用程序窗口的左上角激活最小化和关闭按钮。

© www.soinside.com 2019 - 2024. All rights reserved.