IsMdiContainer
プロパティに設定されていることを確認してくださいTrue
。そうでない場合は、フォームが読み込まれるときのようにプログラムで設定できます。
Private Sub Main_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.IsMdiContainer = True
End Sub
SalesNote フォームのインスタンスをすぐに作成する必要はありません。
Public SNFrm As SalesNote
ここでインスタンス化しているため:
Private Sub MenuSalesNote_Click(......)
SNFrm = New SalesNote
SNFrm.MdiParent = Me
SNFrm.StartPosition = FormStartPosition.CenterScreen
SNFrm.Show()
End Sub
ただし、SetLanguage()
プロシージャが以前に呼び出された場合はMenuSalesNote_Click()
、すぐにインスタンス化することをお勧めします。または、代わりにここでインスタンス化することもできます。
Private Sub SetLanguage()
SNFrm = New SalesNote
SNFrm.Text = My.Resources....
SNFrm.AcceptBtn.Text = My.Resources...
End Sub
ただし、インスタンス化はMenuSalesNote_Click()
もう行いません。
Private Sub MenuSalesNote_Click(......)
SNFrm.MdiParent = Me
SNFrm.StartPosition = FormStartPosition.CenterScreen
SNFrm.Show()
End Sub
次のような SalesNote フォームのインスタンスが既に存在するかどうかを確認することで、これを達成することもできます。
Private Sub MenuSalesNote_Click(......)
If (SNFrm is Nothing) Then
SNFrm = New SalesNote
End if
SNFrm.MdiParent = Me
SNFrm.StartPosition = FormStartPosition.CenterScreen
SNFrm.Show()
End Sub
Private Sub SetLanguage()
If (SNFrm is Nothing) Then
SNFrm = New SalesNote
End if
SNFrm.Text = My.Resources....
SNFrm.AcceptBtn.Text = My.Resources...
End Sub