VB2010。我一定错过了一些东西,因为在搜索了一个小时后我找不到解决方案。我想做的很简单。在我的应用程序中,我想显示一个无模式表单,以便它浮动,而用户仍然可以与主表单交互。
dim f as New frmColors
f.Show(Me)
但我在任何时候都只想要一个表单实例。那么如何防止多次显示实例,如果有一个实例,那么就给它焦点?
像这样的事情对你有用吗,如果表格已经可见,你不能做 a Show
,你可以做 a BringToFront
,你也可以检查表格是否已经被处理,这样你就可以新建一个。
Public Class Form1
Dim f As New frmColors
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
If f.IsDisposed Then f = New frmColors 'To handle user closing form
CheckForm(f)
End Sub
Private Sub CheckForm(frm As Form)
If frm.Visible Then
frm.BringToFront()
Else
frm.Show(Me)
End If
End Sub
End Class
使您的表单遵循单例模式。我不能保证这个样本,但从文本来看,它似乎做了你想做的事。