【问题标题】:The display of certain C# controls is not updating [closed]某些 C# 控件的显示未更新 [关闭]
【发布时间】:2014-02-10 01:52:39
【问题描述】:

我有一个 C# winforms 应用程序,它在除两台计算机之外的所有计算机上都能正常运行。一个是我自己的,在离开窗口然后回到窗口后,控件不显示在屏幕上。您可以单击它们并触发事件,但控件应该是空白的区域,或者看起来像我屏幕上的前一个窗口或类似的东西。

第二台计算机偶尔会出现此问题,但更常见的问题是,当您单击按钮时,您看不到按钮更改颜色,而当您单击复选框时,您实际上并没有看到勾选方框。再次,事件完美触发,但用户不能总是告诉按钮被点击或复选框被选中。

两台计算机都运行 Windows 7,其他计算机运行 Windows XP,如果这与它有任何关系的话。

我一直在谷歌上搜索,找不到任何东西。任何帮助是极大的赞赏。在这一点上,即使是体面的解决方法也会有所帮助。

非常感谢。

【问题讨论】:

  • 看看多线程。
  • 你有自定义渲染控件吗?还是第三方控件?
  • 显然是刷新/重绘问题。有人没有及时Paint控制。
  • 谢谢大家。有一次,代码使用了线程,但现在不再使用了。我没有任何自定义呈现或第三方控件。我过去曾尝试添加重绘和刷新以及所有这些,但从未见过它有帮助(在我发现这个新的按钮/复选框问题之前,它只是在我的屏幕上空白时又回来了)。而且,就像我说的,它在 XP 计算机上工作的事实并不能帮助我找到问题所在。如果有人有任何其他建议,甚至是解决方法,我将不胜感激。
  • 重绘似乎是问题所在,因为用户刚刚告诉我调整窗口大小会恢复控件。但我无法弄清楚为什么它无法在这些计算机上重新绘制,我没有看到任何与 Windows 7 相关的特定兼容性问题。

标签: c# winforms button checkbox controls


【解决方案1】:

答案是我在另一个短暂打开的表单上使用Form.Close() 而不是Form.Dispose()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-04
    • 2012-10-20
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多