GUI相当无响应的4个文本框和组合框

本文关键字:文本 组合 4个 响应 GUI | 更新日期: 2023-09-27 18:11:31

这里有一个潜伏者,但是是时候问我自己的问题了。这个问题适用于这个代码:http://pastebin.com/dQKnSSpY我把它张贴在pastebin上,因为它会弄乱这个页面,否则:)

我的问题是为什么当我运行这个GUI时GUI是相当滞后的。我已经尝试了一些东西,包括DoubleBuffering,一个单独的工作线程,用于添加控件和使用BindingSource。没有任何帮助。我觉得自己有点笨,因为我的c#技能通常还不错。

thanks in advance

GUI相当无响应的4个文本框和组合框

我认为你的问题在于你在Paint事件中创建控件。我现在在Windows窗体中有点生锈,但我认为当控件需要重新绘制时调用Paint事件,这是由操作系统用WM_PAINT消息控制的。这种情况经常发生。也许您应该尝试在Form构造函数中添加控件,而不是在Paint事件中添加控件。

这是一个非常简单的改变,但它可能会有所帮助:

http://pastebin.com/FnXJCAUE

我将Screen.PrimaryScreen.WorkingArea计算从GUI更新中取出,并将其替换为一个常量整数,该整数仅在GUI类初始化时计算一次。这将有助于减少每次GUI绘制所执行的计算次数,从而加快一般的绘制速度,否则我在代码中没有看到任何明显的会减慢速度的东西。