gpt4 book ai didi

c# - 是否可以在 MDI C# Winforms 中更改最小化窗口的大小

转载 作者:行者123 更新时间:2023-11-30 14:40:55 25 4
gpt4 key购买 nike


用户提示说,当他们在 MDI 容器中有几个最小化的窗口时,除非他们对每个窗口进行重新排序,否则无法区分它们。我想知道是否可以使最小化窗口更宽一点,以便标题中的文本可以包含 6 个字符?
提前致谢!

最佳答案

不,这是不可能的。Windows 使用当前系统参数确定最小化窗口的宽度,并且没有办法在不更改整个应用程序的值的情况下为单个应用程序动态更改此宽度系统。

具体来说,所有最小化窗口的默认大小都是 160x31。在 MDI 应用程序中,您实际上会看到这个大小,因为窗口被最小化到它的 MDI 宿主中,而不是到 Windows 任务栏中。 Raymond Chen(Microsoft Windows Shell 团队的一名开发人员)不久前发布了一些博客文章,解释了为什么选择这个特定大小及其含义。第一个可在此处获得:Why do minimized windows have an apparent size of 160x31?第二个后续条目可以在这里阅读:No, really, why is it 160x31?正如他在第二篇文章中解释的那样:

The width of the miniature title bar is determined by the iWidth member of MINIMIZEDMETRICS structure. You can retrieve and change this structure with the help of the SystemParametersInfo function. (Use the SPI_GETMINIMIZEDMETRICS and SPI_SETMINIMIZEDMETRICS flags, respectively.) Some people will mention the MinWidth registry value, but those people are wrong. Notice, for example, that messing with MinWidth requires a logoff cycle, whereas using SPI_SETMINIMIZEDMETRICS takes effect immediately. That's because SPI_SETMINIMIZEDMETRICS updates the internal state variables, whereas whacking the registry just change a value in a database that nobody pays attention to once you've logged on.

What about the height? That's just the height of a caption bar, which you can adjust from the Appearance tab of the Display control panel. (Programmatically, you can use that helpful SystemParametersInfo function, this time using the iCaptionHeight member of the NONCLIENTMETRICS structure.)


因为我怀疑您的用户真的希望您通过 P/调用 SystemParametersInfo function 来弄乱他们的默认系统参数,您没有太多选择。我的建议是切换到另一个界面,特别是如果他们一次只使用一个窗口并将其他窗口最小化。 MDI 的目的是允许用户平铺或级联多个窗口,以便他们一次可以看到多个窗口。由于这听起来不是典型的用例,因此将应用程序切换为使用选项卡可能会更好地为您服务。这通常称为选项卡式文档界面 (TDI),这是旧多文档界面 (MDI) 的一种更现代的实现。多年来它变得非常流行;查看 Wikipedia article .

关于c# - 是否可以在 MDI C# Winforms 中更改最小化窗口的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4813637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com