Der Code ist in so vielen Fronten falsch.
Wie es ist, was Sie tun, ist 25 Strings mit Werten zu schaffen panel0
, panel1
, panel2
etc. und versucht, einen Wert auf eine Eigenschaft davon zuzuweisen. Aber Zeichenfolgen enthalten keine Eigenschaft mit dem Namen Visible
. Sie erhalten also offensichtlich einen Fehler.
Was Sie tun möchten, ist in Ihrem Formular Steuerelement des Typs Panel
zu bekommen, und legen Sie ihre Werte fest.
foreach(var panel in this.Controls.OfType<Panel>())
{
panel.Visible = true;
}
Caveat: die oben nur Panel
Kontrollen in Ihrer obersten Form finden. Wenn es Steuerelemente gibt, die verschachtelt sind, möchten Sie vielleicht eine Methode schreiben, um diese rekursiv zu finden. Oben ist nur, um Ihnen die Idee zu geben.
Wenn Sie mehrere Panel
Steuerelemente haben und wenn Sie nur die Eigenschaften dieser Anzeigenamen auf Ihre Namenskonvention einstellen möchten, können Sie sie ausfiltern.
foreach(var panel in this.Controls.OfType<Panel>())
{
if(panel name fits your naming convention)
panel.Visible = true;
}
Hier legen Sie für die richtige Panel Namen suchen kann eine Regex
durch, verwenden Sie eine benutzerdefinierte Funktion usw.
25 ist ein Beispiel. In meinem Code ist es variabel. Manchmal möchte ich 4 Panels sichtbar machen 25 (25 ist maximal) – harbii
Ja, also bitte folge meinem Beispiel. Es wird dir in die richtige Richtung helfen. – Sach
DANKE! Sach – harbii