在我们的项目中, 夏普连线, ,我们正在尝试创建一个类似于 Firefox 或 Safari 中的下载窗口的下载组件。也就是说,一个自上而下的下载列表是包含进度条、按钮等的自定义控件。

要求是应该有一个列表,每一行有一个元素。每个元素都必须是自定义控件。整个列表应该动态调整大小,以便当您使其更长/更短时,列表会在需要时添加滚动条,当您使其更薄/更宽时,自定义控件应调整大小以适应列表的宽度。

我们尝试过使用 FlowLayoutPanel 但还没有调整大小以按照我们想要的方式工作。最好我们只需将自定义控件的锚定设置为“左”和“右”。我们还考虑过使用 TableLayoutPanel 但发现到目前为止动态添加行的开销太大。

这一定是一个非常常见的用例,对我来说这似乎有点奇怪 FlowLayoutPanel 没有直观的方法来做到这一点。 有没有人做过类似的事情或者有提示或技巧来让我们开始?

干杯!
/亚当

有帮助吗?

解决方案

如果您不想使用数据绑定(通过 DataRepeater 控制,如上所述),你可以使用常规 Panel 控制并设置其 AutoScroll 属性设置为 true(以启用滚动条)。

然后,您可以手动添加自定义控件,并设置 Dock 每个人的财产 Top.

其他提示

.NET 3.5 SP1 引入了 数据中继器 Windows 窗体控件听起来像是可以执行您想要的操作。将其绑定到“下载”列表(或列表代表的任何内容)并自定义每个项目面板以包含您需要的控件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top