【发布时间】:2011-03-22 17:31:15
【问题描述】:
我正在将应用程序从 ASP.NET WebForms 转换为 WinForms。有一个 asp.net 页面包含一个 ListView/Repeater,其中包含几个自定义控件,这些控件又包含一个带有其他自定义控件的 ListView。基本上布局看起来像一个 TreeView,但在每个节点/叶子上都有很少的控件,如组合框等。
当这是在 ASP.NET 中时,页面会自动布局,因此它有几个屏幕高 - 如果我在面板中添加 20 个按钮,它会增长并且浏览器将获得滚动条。
我想在 WinForms 应用程序中做同样的事情 - 所以我将有一个用户控件,它将在面板的某些变体(流、表格布局)中包含许多控件,并且这些控件可能具有它们内部的另一个控件,等等。
问题是,当我制作 winforms 应用程序时,每个控件在设计时都有特定的高度。我希望一些用户控件能够随着他们的内容而增长——所以他们会加起来。在主窗体中,应该有一个垂直滚动条,就像在 Web 浏览器中生成的页面高于屏幕一样。
我只是想获得一些正确方向的一般指示。谢谢。
【问题讨论】:
-
我记得 MS Access 中有一个名为 CanGrow 的报告文本框属性。如果渲染的文本多于框中的内容,它可能会变大并将其余部分向下移动。控件能够随着其内容而增长。从您接受的答案来看,您希望控件在调整其父控件大小时自动调整大小。
标签: winforms layout scroll panel