WinForms - 如何获取控件“想要”的大小?

7
当一个控件(如Panel)中的Control停靠在容器中并且宽度过大以至于无法显示时(出现滚动条),Control.Width似乎返回的是控件的可见宽度(图片中的上箭头)。
那么如何获取控件“想要”的宽度呢?即如果没有滚动条,你会看到的完整宽度(图片中的下箭头)。 alt text http://img19.imageshack.us/img19/372/size.png
3个回答

9

有两个不同的控件属性,您可能会发现这对您有用。有一个默认大小(DefaultSize),当控件初始创建时使用,还有一个首选大小(PreferredSize),即控件可以适应的大小。所有控件都具有这些属性,而首选大小应该是您要寻找的。


9

Bounds 是实际绘制大小

ClientSize 是减去任何滚动条的大小

Control.PreferredSize 是您想要的大小


1

Control.HorizontalScrollbar.Maximum,或者Control.VerticalScrollbar.Maximum应该返回所需的最大尺寸。它可能会返回稍小一些的量,因为它可能会剪切填充。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接