WinForms - 你如何获得Control"想要"的大小?

xyz*_*xyz 7 .net c# winforms

当a Control停靠在容器(如a Panel)中并且太宽而无法显示(因此出现滚动条)时,Control.Width似乎返回Control的可见宽度(图中的顶部箭头).

你如何得到控制"想要"的宽度?即,如果你不必滚动(图中的底部箭头),你会看到它的全宽.

alt text http://img19.imageshack.us/img19/372/size.png

Kas*_*dum 9

您可能会发现有两种不同的控件属性可用于此目的.DefaultSize是最初创建时控件的大小,然后是PreferredSize,它是控件可以适应的大小.所有控件都具有这些属性,而PreferredSize应该是您正在寻找的属性.


Hat*_*ath 9

Bounds 是它绘制的实际大小

ClientSize 是大小减去任何滚动条

Control.PreferredSize 是你想要的