Private Shared m_vb6FormDefInstance As frmMain Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As frmMain
Get If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then m_InitializingDefInstance = True m_vb6FormDefInstance = New frmMain m_InitializingDefInstance = False End If DefInstance = m_vb6FormDefInstance End Get Set(ByVal Value As frmMain) m_vb6FormDefInstance = Value End Set
End Property
#Region " Windows フォーム デザイナで生成されたコード "
Public Sub New()
MyBase.New() If m_vb6FormDefInstance Is Nothing Then If m_InitializingDefInstance Then m_vb6FormDefInstance = Me Else Try 'スタートアップ フォームについては、最初に作成されたインスタンスが既定インスタンスになります。 If System.Reflection.Assembly.GetExecutingAssembly.EntryPoint.DeclaringType Is Me.GetType Then m_vb6FormDefInstance = Me End If Catch End Try End If End If 'この呼び出しは、Windows フォーム デザイナで必要です。 InitializeComponent()
分類:[.NET]
formを新規に追加し、モジュールから新規に追加したフォームのオブジェクトにデータをセットする時に、セットされません。
ロジックは正常に処理されるのですが、デバッグしオブジェクトの中身を見ると
セットされていません。
新たにフォームを追加した場合、なにか追加するロジック等はあるのでしょうか?
既存のフォームを新たに追加したフォームの違いを調べると、フォーム内のロジックの先頭の方に
Private Shared m_vb6FormDefInstance As frmMain
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As frmMain
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New frmMain
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set(ByVal Value As frmMain)
m_vb6FormDefInstance = Value
End Set
End Property
#Region " Windows フォーム デザイナで生成されたコード "
Public Sub New()
MyBase.New()
If m_vb6FormDefInstance Is Nothing Then
If m_InitializingDefInstance Then
m_vb6FormDefInstance = Me
Else
Try
'スタートアップ フォームについては、最初に作成されたインスタンスが既定インスタンスになります。
If System.Reflection.Assembly.GetExecutingAssembly.EntryPoint.DeclaringType Is Me.GetType Then
m_vb6FormDefInstance = Me
End If
Catch
End Try
End If
End If
'この呼び出しは、Windows フォーム デザイナで必要です。
InitializeComponent()
End Sub
が記述してありました。これは最初からm記述してあったように思います。
新たに追加したフォームにはこのロジックは記載されていませんでした。
これは記述する必要があるのでしょうか。
長くて解かりづらい内容ですがどなたかよろしくお願いします。