1. ホーム
  2. c#

[解決済み] アプリケーションウィンドウを前面に出すにはどうしたらいいですか?重複

2023-02-09 05:31:14

質問

アプリケーションのウィンドウを前面に出すには?例えば、私のアプリが注意を必要とするとき。

これは私の個人的なプログラムのためのものです。この機能が必要です。

これは私が手に入れたものです。しかし、それは ではない は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);

そして、"Accept"ボタンを押した後、bool readyがtrueに設定されます。

私は素晴らしい仕事をしますが、常にそうではありません。

どのように解決するのですか?

使用方法 Control.BringToFront :

myForm.BringToFront();