一尘不染

如何将应用程序窗口置于最前面?

c#

如何将我的应用程序窗口置于最前面?例如,当我的应用需要关注时。

这是给我的个人程序。我需要该功能。

这就是我得到的。但这 不是 100%的时间。

public void BringToFrontToEnterCaptha()
{
    if (InvokeRequired)
    {
        Invoke(new Action(BringToFrontToEnterCaptha));
    }
    else
    {
        this.TopMost = true;
        this.Focus();
        this.BringToFront();
        this.textBox1.Focus();
        this.textBox1.Text = string.Empty;
        System.Media.SystemSounds.Beep.Play();
    }
}

public void BringToBackAfterEnterCaptha()
{
    if (InvokeRequired)
    {
        Invoke(new Action(BringToBackAfterEnterCaptha));
    }
    else
    {
        this.TopMost = false;
    }
}

我称他们为后台工作者。

BringToFrontToEnterCaptha();
while (!ready)
{
    Thread.Sleep(100);
}
BringToBackAfterEnterCaptha();
Thread.Sleep(300);

并在按下“接受”按钮后将bool ready设置为true。

我工作出色,但并非总是如此。


阅读 1321

收藏
2020-05-19

共1个答案

一尘不染

用途Control.BringToFront

myForm.BringToFront();
2020-05-19