Vb.net 表单在单击后不隐藏
解决了我的最后一个问题。但是今天我遇到了麻烦 帮助我在这段代码中找到一些解决方法。当我再次单击标记时,它假定Vb.net 表单在单击后不隐藏,vb.net,winforms,Vb.net,Winforms,解决了我的最后一个问题。但是今天我遇到了麻烦 帮助我在这段代码中找到一些解决方法。当我再次单击标记时,它假定隐藏可见的表单实例,但是相反,它创建了一个新的表单实例,正如我所看到的,它们应该做我提到的两件事。哈哈 For Each m In mList If item.ToolTipText = m Then Dim f As New Form2 With f If .V
隐藏可见的表单实例,但是相反,它创建了一个新的表单实例,正如我所看到的,它们应该做我提到的两件事。哈哈
For Each m In mList
If item.ToolTipText = m Then
Dim f As New Form2
With f
If .Visible = True Then
.Hide()
Else
.Show()
Dim p As New Point
p = item.LocalPosition + New Point(20, -240)
.Location = p
.Text = m
End If
End With
Exit Sub
End If
Next
我的目标是在再次单击打开的实例后隐藏它。谢谢你的帮助
更新我在每次单击时都添加了Dim f作为新表单2
,因为我有许多标记必须同时显示,这取决于用户希望看到的表单数量。如果我在global上使用该声明,它一次只能生成一个。因此,每次单击我都需要创建一个新实例,如果我再次单击,可见的
实例将隐藏
您实际上每次都在代码中创建一个新表单:
Dim f As New Form2
您需要引用表单的现有实例,但从代码中不清楚存储在何处。执行了另一种解决方法
在form2
关闭事件中添加了Me.Hide()。。我真的不知道它是否隐藏了什么
但是,当我再次单击标记时,它不会给我一个dispose
错误
For Each m In mList
If item.ToolTipText = m Then
Dim f As New Form2
With f
.Show()
Dim p As New Point
p = item.LocalPosition + New Point(20, -240)
.Location = p
.Text = m
End With
Exit Sub
End If
Next
我已经试过了,并把它加在了上面。但是如果我这样做,我一次只能显示一个表单。。这不是我的选项:)我将更新我的问题。单击表单中的任何位置时是否要隐藏表单?好的,让我们看看代码是否满足需要。最好在单击X后隐藏表单。。。所以它不会给我dispose
error.)如果在单击表单时需要隐藏表单,则应处理表单的“单击”事件(在表单代码中)。如果我这样做,则表单
将隐藏。。但是如果我单击标记,它将创建另一个,隐藏,创建,隐藏,创建。。应用程序的负载很大:(