c# - winform的优化

标签 c# winforms optimization

我有一个程序可以加载一个选项卡,该选项卡加载了大约 332 个文本框。加载新选项卡时,在显示选项卡之前会有 2-3 秒的延迟。我曾尝试暂停和恢复,甚至研究过线程,但发现 winform 只能使用一个线程。

我想知道是否有一种方法可以在另一个线程中创建文本框,然后将它们添加到主窗体中,或者有一种方法可以更好地创建 332 个文本框。

感谢您的帮助。

最佳答案

根据您的布局,我强烈建议用 DataGridView 替换文本框,或者使用某种连续控件在滚动时加载文本框。 主要瓶颈是 handle 的创建。在 winforms 中,每个控件都有自己的句柄(甚至是标签),当像这样大量使用时,确实会带来性能问题。

如果 datagridview 不是一个选项,您能否提供更多关于布局的信息(也许是屏幕截图?),以便社区可以尝试其他选择。在另一个线程中创建文本框会在您尝试添加它们时产生问题,但您可以仅在需要时创建它们。

关于c# - winform的优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290263/

相关文章:

c# - 要使用只读属性还是方法?

c# - 64 位进程不支持 Explorer OM

c# - GUI 消息队列(消息泵 - 并行或串行)

c - 为什么 _Generic 语句被视为表达式而不是宏?

sql - 当结果集很大且无法按索引排序时优化 "ORDER BY"

algorithm - 位排列的通用算法

c# - ASP Net MVC - 验证消息的本地化

c# - SHGetFileInfo : Description for a files extension too short

c# - 如果某些数据为空,Winforms datagridview 将不会加载数据

c# - C#中的部分透明启动画面