プロセスを実行し続けるためのイベントループを開始していないため、コードは機能しません。コードを機能させるのは、変更するのと同じくらい簡単です
Form window = new Form();
window.FormBorderStyle = FormBorderStyle.None;
window.BackgroundImage = blurred; //blurred is a Bitmap
window.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); //bounds is a Rectangle
window.Show();
に
Form window = new Form();
window.FormBorderStyle = FormBorderStyle.None;
window.BackgroundImage = blurred; //blurred is a Bitmap
window.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); //bounds is a Rectangle
Application.Run(window);
Application.Runを追加すると、メッセージ処理ループが開始されるため、 Application.Exitを実行するまで、アプリケーションはイベントの処理を待機します。ウィンドウをこのコマンドに送信すると、フォームを閉じたときにexitが自動的に実行されるため、プロセスを誤ってバックグラウンドで実行したままにすることがなくなります。Application.Runを使用すると、フォームのshowメソッドが自動的に表示されるため、フォームのshowメソッドを実行する必要はありません。
それでも、いくつかの追加の問題を解決するので、LarsTechによって投稿されたものと同様の方法を使用することをお勧めします。
[STAThread]
static void main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form window = new Form();
window.StartPosition = FormStartPosition.Manual;
window.FormBorderStyle = FormBorderStyle.None;
window.BackgroundImage = blurred; //blurred is a Bitmap
window.SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height);
Application.Run(window);
}
[STAThread]は、フォームのスレッドモデルを単一のスレッドに制限します。これは、フォームを壊す可能性のあるエッジケースのスレッドの問題を防ぐのに役立ちます。
Application.EnableVisualStylesは、OSレベルで使用されるスタイルをデフォルトにするようにアプリケーションに指示します。
Visual Studio 2005以降、新しいフォームプロジェクトではApplication.SetCompatibleTextRenderingDefaultがデフォルトでfalseに設定されています。明らかに新しい開発を行っているため、変更する理由はありません。