TabPage Problem!

LucyLoreley

Grünschnabel
Hallo, und nachträglich frohe Weihnachten!

Ich hab ein kleines Problemchen und hoffe mir kann jemand helfen.

Also:
Ich hab einen Dialog mit einer TabPage und 5 jeweiligen Reitern: A, B, C, D, E;
Dann gibt es noch zwei ListBoxen: lb1, lb2 und buttons um Einträge von lb1 nach lb2 oder umgekehrt zu verschieben.
Auch für OK und Abrechen gibt es zwei Buttons.

Mein Problém:
Wenn ich auf OK klicke soll geprüft werden ob lb2 null ist. Wenn ja soll eine Fehlermeldung ausgeworfen werden. Wenn nein speichert mann die einträge.

Leider kann ich aber nur die ListBox des aktuellen angewählten reiter abfragen.

Z.B. Bin ich auf Reiter B kann ich Reiter A net abfragen ob lb2 null ist. Wie kann ich das handhaben. Mir ist klar das ich das mit ner Schleife machen muss. ich weiß aber nicht wie ich über die Reiter direkt laufe und dann auf die lb2 komme.

Bitte helft mir, bin noch ne ziemliche anfängering

Vielen Dank schon mal im Voraus!
 
Huhu,
ich weiß nicht ob es noch einfacher geht, aber ich würde es so machen:

Code:
foreach (Control c in tabControl1.TabPages[1].Controls)
			{
				if (c.Equals(lb) && c == null)
				{
					// Tu etwas
				}

			}
 
Anstatt dieser Zeile kannst du auch eine for-Schleife nehmen:

Code:
for (int i = 0; i < tabControl1.TabPages[1].Controls.Count; i++)
			{
				Control c = tabControl1.TabPages[1].Controls[i];
				if (c.Equals(button2))
					MessageBox.Show("Hallo");
			}

Die foreach Schleife ist eigentlich für Aufzählungen gedacht, die keinen Indexer (wo man also eine bestimmte Position mit einem integer ansprechen kann) gedacht. sie ist auch etwas langsamer als die for-Schleife-
Für jedes Element dass den Datentyp Control hat und in tabControl1.TabPages[1].Controls enthalten ist, legt sie ein Control namens c an und durchläuft die Schleife.
 
Zurück