单击后表单不会隐藏

时间:2013-12-07 07:50:48

标签: vb.net winforms

解决了我的最后一个问题。但是现在我今天在一堵小墙上..

帮助我在此代码中获得一些解决方法。当我再次单击标记时,它假定为hide visible表单实例,而是创建一个新的表单实例,从我所看到的,它们应该做我提到的两件事。洛尔

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

我的目标是我再次点击后打开的实例hide。谢谢你的帮助!

更新我在每次点击时都添加了Dim f As New Form2,因为我必须同时显示许多标记,具体取决于用户想要查看的表单数量。如果我在全球使用该声明,它将一次只生成一个。所以我需要为每次点击创建一个新实例,如果我再次点击,visible实例将hide

2 个答案:

答案 0 :(得分:0)

您实际上每次都在代码中创建一个新表单:

Dim f As New Form2

您需要引用表单的现有实例,但是从您的代码中,您不清楚存储它的位置。

答案 1 :(得分:0)

做了另一种解决方法..

Me.Hide()结束活动中添加了form2 ..我真的不知道它是否隐藏了什么......

但是当我再次点击标记时,它不会给我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