在具有多个多用途子窗体的 MDI WinForms 环境中,每个人都说要同时打开这些窗体的一个实例,最简单的方法是为此使用 Singleton 实现。经过一番搜索,我发现了这种方法(VB .NET 语言):
Public Class FormSingleton(Of TForm As {Form, New})
Private Shared _instance As TForm
Public Shared ReadOnly Property Form() As TForm
Get
If _instance Is Nothing OrElse _instance.IsDisposed Then
_instance = New TForm
End If
Return _instance
End Get
End Property
Public Shared Sub Show()
'Ensure the form is visible and has focus.
With Form
.Show()
.Activate()
End With
End Sub
End Class
当然,显示表单的代码是:
FormSingleton(Of MyForm).Show()
现在我的问题是如何在表单实际显示之前将一些信息发送到“Singleton”表单。必须发送的信息类型因一种形式而异。
谢谢