【发布时间】:2013-10-31 17:33:42
【问题描述】:
我需要编写一个 Windows 窗体,用户可以在其中查看按“客户”分组的许多“合同”。每个客户必须是一个展开-折叠面板,并且客户的合同必须在相应的面板内。
我已经尝试了很棒的ExpandCollapsePanel,但是当客户数量很大时,即使将 AutoScroll 属性设置为 true,面板也不会自动滚动.
有人知道其他的选择吗?请记住,面板必须是动态创建的,因为有很多客户,并且每个客户都有很多合同。
谢谢!
【问题讨论】:
-
在使用
winforms的时候,你应该尽量保持你的UI简单,如果有要求,你应该考虑一些支持丰富控件集的第三方UI库。复杂的UI只建议你用WPF,自定义自己复杂的控件很痛苦,也有bug,我在一个项目中经历过这样的痛苦,很难忘记。 -
同意@KingKing,您可以通过简单的ListBox 在WPF 中实现这一点,同时保持UI Virtualization 处理任何数量的数据而不会损失性能,而在winforms 中尝试类似的东西会像地狱一样。
-
我明白了你的意思,@HighCore 发送的这段视频展示了 WPF 在性能方面优于 WinForms。以前从未使用过WPF :(
-
@wind39 this video 说明了为什么 WPF 确实优于 .Net Windows 应用程序的 winforms。如果您在现有的 winforms 项目中工作,并且需要引入复杂(丰富)的 UI 功能,您可以使用
ElementHost在Form或面板中托管 WPF 内容。让我知道这是否适合您,我可以提供一些示例代码。 -
@HighCore 很棒的视频!我不知道ElementHost,它真的很适合我们的应用程序。如果您提供一些示例代码,我会很高兴,谢谢!
标签: c# winforms panel collapse expand