繁体   English   中英

C#Winforms:有效地显示许多控件

[英]C# Winforms: Efficiently Displaying Many Controls

我正在构建一个包含15x15 = 225个按钮的控件,需要调整大小。 因为它是一个网格,锚定和对接将不起作用。 我已经尝试了TableLayoutPanel以及处理resize事件来手动放置和调整控件。 在这两种情况下,调整大小都是慢得令人无法接受的。 当我手动处理布局时,在调整大小功能中暂停/恢复布局没有帮助。

有什么基本的东西我可以改变以加快速度,或者这只是本机控制的限制? 我知道我可以从头开始构建自定义控件,处理点击并自己绘画 - 尽管如果可能的话我宁愿坚持使用原生控件。

编辑

我知道这是很多按钮。 我的问题是技术问题; 不是关于UI设计的。

不幸的是,WinForms不会同时处理显示这么多控件。

如果我在你的情况下,我会首先考虑是否可以在几页中拆分表格。 在许多情况下,用户也会更容易理解。

但在你的情况下似乎不是一个选择。 你在做类似扫雷游戏的游戏吗? 你有一个按钮网格,所有按钮都是可点击的。 在这种情况下,我建议您使用自定义所有者绘制控件,在其中合并一个控件中的所有按钮。 不要构建一个包含225个按钮的复合控件 - 这根本没有帮助:-)

最后一个选择可能是切换到WPF。 WPF使用硬件加速渲染,因此它可能更快,但有这么多控件甚至可能没有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM