Winforms Windows窗体/DatagridView屏幕闪烁

Winforms Windows窗体/DatagridView屏幕闪烁,winforms,datagridview,flicker,Winforms,Datagridview,Flicker,是否有人遇到过.Net Windows窗体应用程序导致严重桌面闪烁的情况 我有一个Windows窗体应用程序(.Net 3.5,C#),在用户控件中有一个datagridview。 偶尔,当同时运行其他应用程序时(我在Louts Notes中看到,但最糟糕的行为是用户使用Reuters Bridge Station),切换到我的应用程序,然后切换到其他应用程序会导致整个桌面闪烁,冻结所有用户交互,从几秒钟到近一分钟不等。(所有使用Windows XP Professional的用户) 即使网格中

是否有人遇到过.Net Windows窗体应用程序导致严重桌面闪烁的情况

我有一个Windows窗体应用程序(.Net 3.5,C#),在用户控件中有一个datagridview。 偶尔,当同时运行其他应用程序时(我在Louts Notes中看到,但最糟糕的行为是用户使用Reuters Bridge Station),切换到我的应用程序,然后切换到其他应用程序会导致整个桌面闪烁,冻结所有用户交互,从几秒钟到近一分钟不等。(所有使用Windows XP Professional的用户) 即使网格中有少量数据,也会发生这种情况 我没有在应用程序中进行任何自定义绘制,而且我非常确定我的代码目前没有运行来调用任何刷新或重新绘制

我已经启用了双缓冲,所以这不是解决方案

我发现(在微软论坛上)一件有趣的事情是设置表单的透明键可以解决问题——有时候。(特别适用于Louts Notes用户,但不适用于桥站用户。) 仍然受到影响的用户在输入数据之后,在切换到其他应用之前,通过最小化应用程序来解决这个问题。 任何想法都将不胜感激,因为我正在为此拔头发。而且我一开始没有太多的头发


YS

如果在从visual studio调试时发生这种情况,您可以尝试启用并将日志条目写入输出窗口,此技术对于深入了解奇怪的Winforms问题非常有用


一旦你找到了你认为被过度或不必要调用的东西,你就可以插入一个断点并查看堆栈,看看是什么导致了问题。

使用盲松鼠故障排除学校,我似乎找到了一个问题。。。我是说变通办法- 我将显示硬件加速度调到最小值(略高于“无”)。这与设置透明键一起,似乎解决了我的问题

归根结底,虽然这表明显示驱动程序存在问题(可能是多显示器特有的),但也存在.NET问题,如 1) 只有当我的程序运行时,问题才会出现。
2) 更新测试机器上的驱动程序并不能解决问题。

不幸的是,我们在工作中也使用了Lotus Notes,我们也有同样的问题,使用了双缓冲。好问题!我希望有人会帮助我,谢谢你的回复,但我已经确定我的代码中没有一个是导致问题的原因。