我正在努力实现一个用户控件,该控件根据某些属性更改其大小。据我了解,winforms 布局引擎在执行布局时会询问每个子控件的首选大小,并告知它们可以承受的最大大小。
这是一个描述获取首选尺寸 http://msdn.microsoft.com/en-us/library/system.windows.forms.control.getpreferredsize.aspx在msdn中:
Control.GetPreferredSize(Size proposedSize)
检索可以安装控件的矩形区域的大小。
我对以下内容感到困惑:
您可以返回比实际尺寸更大的尺寸
中指出的约束条件
suggestSize 参数,但是
提议的大小应该随着
约束减少。
这是什么意思?如果我退回的尺寸大于建议的尺寸会怎样?
有人可以解释一下这是如何工作的吗?
该行的含义是您可以自由返回比实际尺寸更大的首选尺寸proposedSize
参数,但是proposedSize
应该仍然会影响您的首选尺寸。例如,您返回的尺寸为GetPreferredSize(new Size(100, 0)
应该小于返回的大小GetPreferredSize(new Size(200, 0))
.
请注意,如果您返回更大的尺寸,不会发生任何不良情况;布局引擎将为您整理所有内容,可能是通过减少其他控件可用的大小。最终,您的首选大小只是引擎的一个提示,以便它知道它正在排列的各种 UI 组件的相对空间需求是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)