4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【C#】フォームの二重起動を防ぐ

Posted at

C# フォームアプリケーションでフォームの二重起動を防ぐ方法を紹介する。

注意

今回は「SampleForm」というフォームがある前提で進める。

やり方

開く元のフォームに以下のコードを追加する。

Form.cs
public SampleForm sf = null;

「sf」の部分は自由に変更してもよい。
そして、いままでのフォームを開くコードのところを二重起動を防止するコードに書き換える。

Form.cs
/* 二重起動防止 */
if (this.sf == null || this.sf.IsDisposed)
{ /* ヌル、または破棄されていたら */
  this.sf = new SampleForm();
}

おまけ

フォームにフォーカスを当てる。

Form.cs
if (!this.sf.Visible)
{
  this.sf.Show();
}
else
{
  this.sf.Activate();
}
4
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?