首页 > 解决方案 > c#在tablelayout面板中使用不同的子控件会影响应用程序的速度吗

问题描述

我正在用 C# 开发一个窗口优化应用程序。在那个项目中,我有 tablelayout 面板。我在所有单元格中添加了图片框。在应用程序中,用户可以在运行时添加列和行。

但是当用户动态添加列或行时,应用程序开始变慢。

我的问题是使用面板而不是图片框会加快速度吗?(面板背景图像属性做同样的工作)或者它不会改变任何东西?

我已经将双缓冲属性设置为 true。

在此处输入图像描述

标签: c#winformspanelpictureboxtablelayoutpanel

解决方案


我有表格布局面板。我在所有单元格中添加了图片框。

如果我理解正确,这在 WinForms 中不起作用。这里所有控件都是实际的 Windows 窗口,具有操作系统级别的句柄和所有需要的消息泵逻辑。再加上表格布局会在其下的每个窗口中触发调整大小,给这一切带来更大的压力。

要么走一条不那么懒惰的路线,自己在内存位图中绘制所有内容并将其放入PictureBox显示中,要么使用更现代的框架,如 WPF,它没有任何上述限制。事实上,这在 XAML 中是微不足道的。


推荐阅读