在.NET中显示模式对话框时出现小闪烁

Dan*_*lba 5 .net c# modal-dialog winforms

我在.NET Windows Forms应用程序中遇到了烦人的问题.

我有一个MainForm(A)和一个进度表(B),当我开始一个长操作时,它以模态显示.

当操作完成并且B关闭时,似乎我的应用程序后面的窗口(通常通过Skype发生)在几毫秒内被带到前面,然后我的应用程序正常激活.

只是一个小小的闪烁,但很烦人.在这里,我写了一些有助于找到解决方案的提示:

  • 我在没有IWin32Window的情况下调用了showDialog,但是我添加了它没有成功结果.
  • 我关闭B使用Close(),然后我尝试Hide()然后Close()但没有帮助.
  • 执行ShowDialog()的代码是从UI线程调用的,因此它似乎不是一个线程问题.

任何线索将不胜感激.提前致谢.

crl*_*ois 0

您可以尝试使用以下示例对表单进行双缓冲:

倾向于消除屏幕更新时的闪烁。