我已经创建了一个基于Windows窗体(C#)的动态GUI库,我在复杂的窗体中使用它,同时修改了许多控件。
我在尺寸和位置变化时遇到了性能问题,这就是我测量每次更改所需时间的原因。这些是我测量的例子(我实际上有问题):
首先:我知道TextBox或ComboBox花费2-3毫秒来改变它的宽度并不多,但是如果我把这个时间缩短到尽可能少。每种形式我都有100-300个控件,所以每次调整整个大小时,我会得到400毫秒的延迟 - 1200毫秒,这会产生不好的结果。
其次:如果我有办法避免闪烁,我的表单调整大小会更平滑,而Widths和Lefts正在改变。如果我在整个表单中使用隐藏和显示,我会让表单消失片刻并再次出现。如果我不这样做,控件会闪烁。有没有办法避免闪烁?
编辑:对于组合框而言,我得到的确非常慢,也取决于他们拥有的物品数量。但是为什么项目数会延迟设置的宽度。我正在为组合框时间分享一些额外的结果: