【发布时间】:2012-05-02 14:10:27
【问题描述】:
在我们的项目中,我们使用了许多表单和控件。我们的其中一个表单显示了许多包含的控件。第一次显示表单时,所有控件都应该被禁用(有一个额外的“编辑”按钮)。
但我的ComboBoxes看起来它们已启用。它们的行为不是这样的——你不能点击它们,也不会触发任何事件。如果触发了绘图事件,它们实际上是正确绘制的,例如。 G。调整窗口大小。
此行为仅适用于 Windows 7,不适用于 Windows XP。我该怎么做才能正确绘制组合框?它不是每次都发生,所以我认为这不是我的组合框的问题... ...它也发生了一些组合框绘制正确,其余的绘制错误!
我能做些什么来避免这种情况?
更新:我刚刚发现只有在 Windows 7 中选择“经典”以外的其他主题时才会发生这种行为。
我还通过 WindowMessages 对我进行了调试,发现某些消息丢失/未发送。我会告诉你不同的读数,但文件只有几百行:/
在经典中,所有内容都正确绘制。什么会导致这种行为??
UPDATE2:也许只是一点点更新——在我为整个应用程序(在主窗体中使用 WS_EX_COMPOSITED)激活 DoubleBuffering 之后,该行为不再存在。但这仍然很奇怪,不是吗?
【问题讨论】:
-
没有你的代码很难说。适用于简单的测试应用。
标签: c# winforms windows-7 combobox