dポイントプレゼントキャンペーン実施中!

下記のコードだと

Private Sub Button1_Click(・・・
Dim f2 As New Form2()
f2.Show()
End Sub

ボタンをクリックするたびに、同じフォームが表示されます。
同じフォームが開かないようにしたいのですが、どうすればいいのでしょうか?

バージョンは、Visual Basic .NETです。

よろしくお願いします。

A 回答 (2件)

Private m_f2 As Form2



Private Sub Button1_Click(・・・
  If m_f2 Is Nothing OrElse m_f2.IsDisposed Then
    m_f2 = New Form2
  End If
  m_f2.Show()
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
希望通りのことができました。

実は、ネットで探して、この問題の対応策のページを見つけたのですが、私のvbのバージョンが古くて、myが対応していないため解決できませんでした。
これだと、私のバージョンでも問題が解決できたため助かりました。
ありがとうございました。

お礼日時:2011/07/20 10:44

Dim f2 As New Form2()・・・この行で常にフォームが生成(新設)されます。


その後
f2.Show()・・・この行で新設されたフォームが表示されます。
*同一フォームが追加されて行く事になります。


Dim f2 As New Form2()の行を削除し、同一フォームが生成されない様にします。
f2.Show()をForm2.Show()として、フォームを表示します。

以上、お試し下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。

つまり、
Private Sub Button1_Click(・・・
Form2.Show()
End Sub

ってことでしょうか?
これだと、ビルドするとエラーがでました。

お礼日時:2011/07/20 10:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A