2012-12-03 76 views
2

在vb.net中,控件获取“内部大小”的属性是什么?我的意思是控件应该有的大小不显示滚动条。 我想调整窗体的大小,如下所示:控件的“内部大小”

- 如果内部尺寸太小,请使用默认窗体尺寸。

- 如果内部大小介于给定范围之间,请调整窗体大小以使滚动条消失。

- 如果内部尺寸太大,请为表单设置最大尺寸并保持滚动条。我正在使用Devexpress LayoutControl。 谢谢。

回答

3

您可以使用控件的ClientSize属性(我强调)。

控制的客户区是控制的边界,减去 非工作区元素如滚动条,边框,标题栏,和 菜单。调用SetClientSizeCore方法来设置ClientSize 属性。 ClientSize属性并不总是通过其 set方法更改,因此应该将SetClientSizeCore方法重写为 ,以确保在设置ClientSize属性时执行代码。

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.clientsize%28v=vs.80%29.aspx

+0

谢谢你的回复。 使用ClientSize我得到的尺寸大于有效所需尺寸。所以我在控制台的底部得到一个空的空间。我正在使用[Devexpress LayoutControl](http://documentation.devexpress.com/#WindowsForms/clsDevExpressXtraLayoutLayoutControltopic)。 – ufo

+0

无论如何,我想ClientSize不是我需要的。从描述中我明白ClientSize是控件的边界,所以如果表单中的大小是200x300像素,并且我有一个垂直滚动条,那么我得到的大小就是180x300。我不需要这个。如果垂直滚动条显示150个额外的像素,我想获得200x450像素的大小......清除泥浆...... – ufo

+0

在上面的评论中,我正在讨论PreferredSize!这个属性有时给出的高度太大,有时太短! – ufo