2015-03-31 3 views
0

В настоящее время я делаю программу, и я добавляю форму утилиты, и у меня есть кнопки и панели. 1 для 1 панели, поэтому у меня есть код, если они нажимают кнопку, а другая панель видна, чтобы скрыть и показать другую панель. По какой-то причине я должен дважды щелкнуть кнопку, чтобы она изменилась на другую панель, не зная почему.Изменение панелей одним нажатием кнопки

Код:

Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click 
    If pnlAbout.Visible = False Then 
     pnlAbout.Visible = True 
    Else 
     If pnlProfile.Visible = True Then 
      pnlProfile.Visible = False 
      pnlAbout.Visible = True 

      If pnlUpdates.Visible = True Then 
       pnlUpdates.Visible = False 
       pnlAbout.Visible = True 
      End If 
     End If 
    End If 
End Sub 
Private Sub btnProfile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProfile.Click 
    If pnlProfile.Visible = False Then 
     pnlProfile.Visible = True 
    Else 
     If pnlAbout.Visible = True Then 
      pnlAbout.Visible = False 
      pnlProfile.Visible = True 

      If pnlUpdates.Visible = True Then 
       pnlUpdates.Visible = False 
       pnlProfile.Visible = True 
      End If 
     End If 
     End If 
End Sub 
Private Sub btnUpdates_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdates.Click 
    If pnlUpdates.Visible = False Then 
     pnlUpdates.Visible = True 
    Else 
     If pnlAbout.Visible = True Then 
      pnlAbout.Visible = False 
      pnlUpdates.Visible = True 

      If pnlProfile.Visible = True Then 
       pnlProfile.Visible = False 
       pnlUpdates.Visible = True 
      End If 
     End If 
    End If 
End Sub 

ответ

1

Ваш код может быть суммированы в:

Private Sub btnAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAbout.Click 
    pnlAbout.Visible = True 
    pnlProfile.Visible = False 
    pnlUpdates.Visible = False 
End Sub 
Private Sub btnProfile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProfile.Click 
    pnlAbout.Visible = False 
    pnlProfile.Visible = True 
    pnlUpdates.Visible = False 
End Sub 
Private Sub btnUpdates_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdates.Click 
    pnlAbout.Visible = False 
    pnlProfile.Visible = False 
    pnlUpdates.Visible = True 
End Sub 

Вы должны дважды вызвать первый щелчок делает правильный панель видимым и второй (если повезет) один который был виден не видимым.

+0

Спасибо, это сработало отлично. – Rogueleet

0

Ваш код может быть Обобщить в этом:

private sub button1_click(Byval sender as System.Object, ByVAl e AS System.EventArgs)Handles buttonUpdates.click 

    panel1.Visible = true 
    panel2.Visible = false 

End Sub 
Смежные вопросы