失去焦点时窗口闪烁?

Jes*_*sse 5 c# windows winforms visual-studio-2012

我一直在研究基于c#的Windows窗体应用程序,我需要一些帮助.我正在尝试重新创建大多数Windows应用程序在窗体失去焦点到父窗体时所具有的窗口闪烁.最好的方法我可以解释这是打开计算器打开帮助窗口并尝试单击计算器,帮助窗口然后没有落在计算器闪烁失败和获得边缘阴影.

单击父级时,我已设法重新关注子窗口,但这会产生奇怪的闪烁效果,因为父窗口暂时被带到子窗口前面.我只是猜测,但我正在寻找的效果似乎是计算器永远不会被带到帮助窗口前,然后帮助窗口被简单地激活和停用几次.

我尝试了一些搜索,我看到了一些与此相关的主题,但没有一个解决方案完全匹配.我是一个相当新的制作Windows窗体应用程序,所以仍然有一些我不明白的事情,所以如果我一开始不理解,请耐心等待.

先感谢您

关于计算器示例的详细说明:

1)打开计算器从windows配件2)在工具栏中转到帮助选项卡并打开关于计算器选项3)点击计算器窗口4)关于计算器窗口将闪烁而不会落在计算器后面

我对此所取得的唯一进展是

    private void MainForm_Activated(object sender, EventArgs e)
    {
        if (Open == true)
        {
            //blink active window

            _addForm.Activate(); //makes window active
        }
    }
Run Code Online (Sandbox Code Playgroud)

open变量是我用来跟踪是否打开表单的东西,并且在我显示另一个表单时变为true.

Rog*_*erN 7

在您的示例中,"关于"窗口称为模态窗口.模态窗口阻止用户与父窗口交互,直到它关闭.使用Form.ShowDialog而不是Form.Show将表单作为模态窗口呈现给用户.