German Panel Sichtbarkeit steuern

psciga

Active Member
Licensed User
Longtime User
Hallo Forum,

im Designer wurden in einem Layout zwei Panels erstellt (Panel1 und Panel2). Beide haben die gleiche Größe und Position. Beim Starten soll zunächst nur Panel1 angezeigt werden. Das funktioniert aus soweit:

B4X:
Sub Activity_Create(FirstTime As Boolean)
   starteinstellungen(True)'setzt IP-Adresse und Thema
   ...
   activity.LoadLayout("hintergrund1")
   Panel2.Enabled = False
   Panel2.Visible = False   
   activity.AddMenuItem("Medium wählen", "Menue")
   activity.AddMenuItem("Server wählen", "Menue")
   activity.AddMenuItem("Daten abrufen", "Menue")
   activity.AddMenuItem("Panel aus", "Menue")
   activity.AddMenuItem("Panel ein", "Menue")
   ....
End Sub

Mit dem Menü soll nun Panel1 aus- und Panel2 eingeschaltet werden.

B4X:
Sub Menue_Click
   Select Sender
        .......
   Case "Panel aus"
      panelschaltung(False)
   Case "Panel ein"
      panelschaltung(True)      
   End Select
End Sub

Mit dem Debugger kann ich auch verfolgen, dass der Befehl aufgerufen und abgearbeitet wird.

B4X:
Sub panelschaltung(einaus As Boolean)
   Panel1.Enabled = einaus
   Panel1.Visible = einaus
   If einaus=False Then
      einaus = True
   Else
      einaus = False
   End If
   Panel2.Enabled = einaus
   Panel2.Visible = einaus
End Sub

Mit "Panel aus" wird Panel1 unsichtbar, aber Panel2 bekommt man nicht zu sehen. Umgekehrt, also mit dem Menüaufruf "Panel ein" wird Panel1 wieder sichtbar.

Ich habe schon mit BringToFront, SendToBack und solchen Dingen herumprobiert, leider erfolglos. Was ist falsch?

Danke im Voraus - Peter
 

psciga

Active Member
Licensed User
Longtime User
Hallo Klaus,

danke für Deinen Denkanstoß! Das brachte zwar im ersten Anlauf auch kein besseres Ergbnis, ABER ein Blick in den Designer zeige meinen wirklichen Fehler:

Parent von Panel2 war Panel1! Damit hat B4A gemacht, was es soll, nämlich Panel1 ausgeschaltet und damit gleich auch Panel2.

Lösung: Parent von Panel2 auf Activity gesetzt und alles funktioniert, wie es soll.

Danke und viele Grüße aus dem sonnigen Leipzig - Peter
 
Top