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

时间:2010-01-03 14:48:20

标签: c# winforms

对于较小的标题栏高度和边框大小,我经常使用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;
    }
}

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

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

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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