- ベストアンサー
クリックするたびに、フォームが複数表示される
下記のコードだと Private Sub Button1_Click(・・・ Dim f2 As New Form2() f2.Show() End Sub ボタンをクリックするたびに、同じフォームが表示されます。 同じフォームが開かないようにしたいのですが、どうすればいいのでしょうか? バージョンは、Visual Basic .NETです。 よろしくお願いします。
- みんなの回答 (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
その他の回答 (1)
- yhc3594
- ベストアンサー率27% (25/92)
回答No.1
Dim f2 As New Form2()・・・この行で常にフォームが生成(新設)されます。 その後 f2.Show()・・・この行で新設されたフォームが表示されます。 *同一フォームが追加されて行く事になります。 Dim f2 As New Form2()の行を削除し、同一フォームが生成されない様にします。 f2.Show()をForm2.Show()として、フォームを表示します。 以上、お試し下さい。
質問者
お礼
ありがとうございます。 つまり、 Private Sub Button1_Click(・・・ Form2.Show() End Sub ってことでしょうか? これだと、ビルドするとエラーがでました。
お礼
ありがとうございます。 希望通りのことができました。 実は、ネットで探して、この問題の対応策のページを見つけたのですが、私のvbのバージョンが古くて、myが対応していないため解決できませんでした。 これだと、私のバージョンでも問題が解決できたため助かりました。 ありがとうございました。