如果程序的主窗体没有打开任何模态窗体,如何检查 .net?

How to check in .net if program's main form doesn't have any modal forms opened?

假设我有一些话题 运行。 仅当主窗体上未显示模态窗体时,它们才必须执行某些操作。

我不想添加黑客检查,例如在打开某些模态窗体之前设置一些标志。有什么通用的方法吗?

我们使用这个技巧:

if (this.Visible && !this.CanFocus)
{
    //another modal window is opened
}

但是你应该知道,模态 window "blocks" 主窗体执行。并且你只能在某些情况下检查这个,比如重绘。