Vb.net (VB)打开/关闭标签

Vb.net (VB)打开/关闭标签,vb.net,toggle,Vb.net,Toggle,我有一个按钮,单击时标签将显示,但我使用了什么代码来获取它,因此当再次单击按钮时,标签将隐藏: Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label4.Hide() Label5.Hide() Label6.Hide() End Sub Private Sub Button1_C

我有一个按钮,单击时标签将显示,但我使用了什么代码来获取它,因此当再次单击按钮时,标签将隐藏:

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label4.Hide()
        Label5.Hide()
        Label6.Hide()
    End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
        Label4.Show()
        Label5.Show()
        Label6.Show()
    End Sub

只需检查Visible属性

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   if Label4.Visible = false then 
        MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
        Label4.Show()
        Label5.Show()
        Label6.Show()
   else
        Label4.Hide()
        Label5.Hide()
        Label6.Hide()
   End if
End Sub
    Dim SetVisible = Not Label4.Visible
    if Label4.Visible = False then
        MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
    End If
    Label4.Visible = SetVisible
    Label5.Visible = SetVisible
    Label6.Visible = SetVisible
End Sub
或者更简单地读取并反转visible属性

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   if Label4.Visible = false then 
        MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
        Label4.Show()
        Label5.Show()
        Label6.Show()
   else
        Label4.Hide()
        Label5.Hide()
        Label6.Hide()
   End if
End Sub
    Dim SetVisible = Not Label4.Visible
    if Label4.Visible = False then
        MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
    End If
    Label4.Visible = SetVisible
    Label5.Visible = SetVisible
    Label6.Visible = SetVisible
End Sub

您应该定义一个bool变量来打开/关闭。 如下所示:单击按钮1时,变量必须为true,两次单击时必须为false

dim isClicked as bool = false
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        if !isClicked then

         Label4.Show()
         Label5.Show()
         Label6.Show()
         isClicked = true

       else

         Label4.Hide()
         Label5.Hide()
         Label6.Hide()
         isClicked = false
end if
    End Sub
另一个

Private Labels As New List(Of Label)

Private Sub Form3_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Shown
    Labels.AddRange({Label4, Label5, Label6})
    ToggleLabelVisibility()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MsgBox("All shortcuts require Shift+(Letter) combination", vbOKOnly, "Shortcuts Active")
    ToggleLabelVisibility()
End Sub

Private Sub ToggleLabelVisibility()
    For Each lbl As Label In Labels
        lbl.Visible = Not lbl.Visible
    Next
End Sub
很容易

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  Label4.Visible = not Label4.Visible
  Label5.Visible = not Label5.Visible
  Label6.Visible = not Label6.Visible

End Sub

或更通用的功能,不仅可以切换标签,还可以切换任何控件

Private Sub Toggle(ByVal ParamArray controls() As Control)
    For Each c As Control In controls
        c.Visible = Not c.Visible
    Next
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Toggle(Label4, Label5, Label6)
End Sub