我经常使用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;
}
}
但“最大化”和“最小化”按钮仍未显示。
默认情况下,可调大小的工具窗口实际上显示在任务栏中,并且可以通过右键单击任务栏图标来最小化/最大化,但这远不如通常在标题栏上显示按钮那么方便。
有什么建议吗?
4条答案
按热度按时间yeotifhr1#
Windows根本不支持它,你不能强迫它做其他事情。顺便说一句,你的工作不是在上网本机器上强制一个窗口样式。用户通过控制面板的显示+外观标签来做这件事。当用户自己可以很容易地做到这一点时,最好避免在你的UI上强加你的个人偏好。让它在所有应用程序中保持一致。并保留最小/最大按钮。
xkrw2x1b2#
除非实现自定义的标题栏和非工作区,否则您无法实现。正如nobugz所说,Windows不支持这种样式组合。您可以在标准工具窗口标题栏上滚动自己的最小/最大按钮,但我不推荐这样做。
jfewjypa3#
您可以将FormBorderStyle设为FixedDialog,然后将MaximizeBox设为False。这会让应用程序视窗左上角的[最小化]和[关闭]按钮保持作用中状态。
af7jpaap4#
对于那些在最新版本的visual studio中看到windows窗体解决方案的人来说,他们不想调整窗体的大小并允许最小化,将
FormBorderStyle
设置为FixedDialog
以固定大小,然后将MaximumSize
设置为与主大小相同的大小。这将为您提供最大和最小图标,并使窗体保持相同的大小。