【发布时间】:2014-02-10 01:52:39
【问题描述】:
我有一个 C# winforms 应用程序,它在除两台计算机之外的所有计算机上都能正常运行。一个是我自己的,在离开窗口然后回到窗口后,控件不显示在屏幕上。您可以单击它们并触发事件,但控件应该是空白的区域,或者看起来像我屏幕上的前一个窗口或类似的东西。
第二台计算机偶尔会出现此问题,但更常见的问题是,当您单击按钮时,您看不到按钮更改颜色,而当您单击复选框时,您实际上并没有看到勾选方框。再次,事件完美触发,但用户不能总是告诉按钮被点击或复选框被选中。
两台计算机都运行 Windows 7,其他计算机运行 Windows XP,如果这与它有任何关系的话。
我一直在谷歌上搜索,找不到任何东西。任何帮助是极大的赞赏。在这一点上,即使是体面的解决方法也会有所帮助。
非常感谢。
【问题讨论】:
-
看看多线程。
-
你有自定义渲染控件吗?还是第三方控件?
-
显然是刷新/重绘问题。有人没有及时
Paint控制。 -
谢谢大家。有一次,代码使用了线程,但现在不再使用了。我没有任何自定义呈现或第三方控件。我过去曾尝试添加重绘和刷新以及所有这些,但从未见过它有帮助(在我发现这个新的按钮/复选框问题之前,它只是在我的屏幕上空白时又回来了)。而且,就像我说的,它在 XP 计算机上工作的事实并不能帮助我找到问题所在。如果有人有任何其他建议,甚至是解决方法,我将不胜感激。
-
重绘似乎是问题所在,因为用户刚刚告诉我调整窗口大小会恢复控件。但我无法弄清楚为什么它无法在这些计算机上重新绘制,我没有看到任何与 Windows 7 相关的特定兼容性问题。
标签: c# winforms button checkbox controls