GUI对4个文本框和组合框没有反应

时间:2013-04-29 08:51:57

标签: c# user-interface

潜伏在这里,但是我自己的问题的时间。 这个问题适用于这段代码:http://pastebin.com/dQKnSSpY我把它发布在pastebin上,因为它会弄乱这个页面,否则:)

我的问题是,当我运行此GUI时,GUI非常落后。我已经尝试过几个方面,包括DoubleBuffering,一个用于添加控件和使用BindingSource的独立工具。 什么都没有帮助。我感觉有点愚蠢,因为通常我的C#技能都很好。 (对Windows Forms来说很新)

提前致谢

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

http://pastebin.com/FnXJCAUE

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