c# - c#在tablelayout面板中使用不同的子控件会影响应用程序的速度吗
问题描述
我正在用 C# 开发一个窗口优化应用程序。在那个项目中,我有 tablelayout 面板。我在所有单元格中添加了图片框。在应用程序中,用户可以在运行时添加列和行。
但是当用户动态添加列或行时,应用程序开始变慢。
我的问题是使用面板而不是图片框会加快速度吗?(面板背景图像属性做同样的工作)或者它不会改变任何东西?
我已经将双缓冲属性设置为 true。
解决方案
我有表格布局面板。我在所有单元格中添加了图片框。
如果我理解正确,这在 WinForms 中不起作用。这里所有控件都是实际的 Windows 窗口,具有操作系统级别的句柄和所有需要的消息泵逻辑。再加上表格布局会在其下的每个窗口中触发调整大小,给这一切带来更大的压力。
要么走一条不那么懒惰的路线,自己在内存位图中绘制所有内容并将其放入PictureBox
显示中,要么使用更现代的框架,如 WPF,它没有任何上述限制。事实上,这在 XAML 中是微不足道的。
推荐阅读
- javascript - “Home”不是 Node JS 上的构造函数
- pydev - PyDev 不显示 * 字符
- javascript - 如果使用锚标记在内部过滤器中打开手风琴,如何打开手风琴
- f# - 具有继承的类中的缩进规则?
- python - python - 如何使用python中的一组标签生成标记(分类)一组对象的所有可能方式?
- android - 我如何在 android 应用程序中模拟 REST 后端
- javascript - 在对象数组上使用 forEach()
- java - 字符串的最后输出似乎没有改变
- tensorflow - 将 tf.keras.layers 与 Tensorflow 低级 API 相结合
- asp.net-mvc - 由于 [ValidateAntiForgeryToken()] 和禁用的 Cookie,提交按钮没有点击控制器