DOBON.NET DOBON.NETプログラミング掲示板過去ログ

同じフォームが二重に開く

環境/言語:[windows2000]
分類:[.NET]

いつもお世話になっています。

ボタンクリックイベントに

Dim frm_1As Form1
frm_1= New Form1
frm_1.Show()

と記載しているのですが、ボタンをクリックする度に同じフォームが開きます。
frm_1= New Form1のNewがいけないのでしょうか?二重に開かないようにするにはどうすればよいのか教えて下さい。お願いします。
■No15030に返信(Ashさんの記事)
> frm_1= New Form1のNewがいけないのでしょうか?

そう。別インスタンスだからね。

> 二重に開かないようにするにはどうすればよいのか教えて下さい。

そういう場合はShowDialogを使うべきな場合が多々あったりするんだけど。
とりあえず、ローカルスコープをプライベートスコープにすることですな。

Private mForm As Form1

Private Sub Hoge()
  If mForm Is Nothing Then
    mForm = New Form1()
  End If

  mForm.Show()
End Sub

こんなかんじ。
>If mForm Is Nothing Then
If mForm Is Nothing OrElse mForm.IsDisposed=True Then
かな?
.ShowDialog()を使うことにしました。
はいこーんさん、こど。さん、ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板