タイトル : Re^2: モードレス表示のフォームを常に操作可能に 投稿日 : 2007/02/28(Wed) 09:56 投稿者 : おかっぴきA
こんにちは。回答ありがとうございます。 > 他人が再現できる「最小限に切り詰めた3つの.vb のコード(+Module1.vb)」をUPされてみては > いかがでしょうか。 簡単にコードをUPしてみたいと思います。(ボタンはデフォルト名です) -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Public Class Form1 〜中略〜 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim frm1_1 As New Form1_1 frm1_1.ShowDialog(Me) 'Form1から表示用フォーム(Form1_1)をモーダルで表示 frm1_1.Dispose() End Sub End Class -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Public Class Form1_1 〜中略〜 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Form2.Instance.Show() 'モードレスフォームを複数表示しないようにする End Sub End Class -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- Public Class Form2 〜中略〜 'ただ一つのフォームのインスタンスを保持するフィールド Private Shared _instance As Form2 'ただ一つのフォームにアクセスするためのプロパティ Public Shared ReadOnly Property Instance() As Form2 Get '_instanceがnullまたは破棄されているときは、 '新しくインスタンスを作成する If _instance Is Nothing OrElse _instance.IsDisposed Then _instance = New Form2 End If Return _instance End Get End Property 'これでForm2は一つだけしか表示されない End Class -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*- 現在はこのようにコードを書いております。 ※Form2については、前回教えていただいたものです。 参照: http://hanatyan.sakura.ne.jp/bbs/wforum.cgi?mode=allread&no=4964&page=0 > Form1_Load()で、frm2 = New Form2 をしておいて、必要な時だけFrm2をshowする・・ それは、Form1_Load()で「Dim frm2 As New Form2」として、 表示用フォーム(Form1_1)から開くのでしょうか。 引き続き、ご教授よろしくお願いします。 |