4

Topmostプロパティがtrueに設定されたフルスクリーンウィンドウがあります。アプリケーションがWindowStateプロパティを変更するたびに、アクティブフォーカスがある場合でも、ウィンドウは自動的に最小化されます。たとえば、以下のコードは問題の例です。ウィンドウが非アクティブ化されてから3秒後に、ウィンドウが最小化から通常に変わり、他のフルスクリーンアプリケーションが最小化されます。

// Topmost = false
private void Form1_Deactivate(object sender, EventArgs e)
{
    System.Threading.Thread.Sleep(3000);
    this.WindowState = FormWindowState.Normal;
}

このような場合にフルスクリーンウィンドウのWindowStateプロパティを保持する方法はありますか?フルスクリーンアプリを最小化することをユーザーに選択してもらいたいので、他のプログラムがフォーカスを奪うのを止めたいと思います。

4

3 に答える 3

2

「キオスクモード」を調べてみてください 。

于 2010-01-18T14:13:53.300 に答える
0

おそらくこれはあなたが望むものです:フルスクリーンの「キオスクモード」のWindowsフォーム

それ以外の場合は、ヘンクの推奨事項を2番目にします。

于 2010-01-18T15:23:44.697 に答える
0

これがキオスク アプリケーションであり、コンピュータ上で実行されている唯一のプログラムである場合は問題ありません。それ以外の場合、これは非常に悪い考えであり、文書化された方法がないのはそのためです。Raymund Chen が言うように、この種の質問には、「2 つのプログラムがこれを行ったらどうなるか?」という思考実験を行う必要があります。

http://blogs.msdn.com/oldnewthing/archive/2005/06/07/426294.aspx

于 2010-01-18T15:35:58.363 に答える