ウィンドウフォームでウィンドウが開いているかどうかの判断方法
Form.IsHandleCreatedプロパティを使用して、フォームが存在しているかどうかを確認できます。
IsHandleCreatedプロパティは、フォームが作成されてすぐに利用可能かどうかを表すbool値を返します。IsHandleCreatedがtrueの場合、フォームは開かれています。IsHandleCreatedがfalseの場合、フォームは開かれていないか、または閉じられています。
以下にサンプルコードを示します。
private bool IsFormOpen(Form form)
{
return form != null && !form.IsDisposed && form.IsHandleCreated;
}
メソッドを呼び出すときに判断したいフォームを引数で渡すことでフォームが開かれているかどうかを判別できる
Form1 form1 = new Form1();
bool isOpen = IsFormOpen(form1);
isOpenがtrueの場合は、フォームは開いています。isOpenがfalseの場合は、フォームは閉じていません。