tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
557
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    LucyLoreley LucyLoreley ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    17
    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!
     

  2. #2
    zovax zovax ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Ort
    Koblenz (Rheinland-Pfalz)
    Beiträge
    217
    Huhu,
    ich weiß nicht ob es noch einfacher geht, aber ich würde es so machen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    foreach (Control c in tabControl1.TabPages[1].Controls)
                {
                    if (c.Equals(lb) && c == null)
                    {
                        // Tu etwas
                    }
     
                }
     

  3. #3
    LucyLoreley LucyLoreley ist offline Mitglied
    Registriert seit
    Dec 2004
    Beiträge
    17
    Was soll denn die erste Zeile heißen oder bewirken?
    Code :
    1
    
     foreach (Control c in tabControl1.TabPages[1].Controls)
     

  4. #4
    zovax zovax ist offline Mitglied Gold
    Registriert seit
    Jun 2004
    Ort
    Koblenz (Rheinland-Pfalz)
    Beiträge
    217
    Anstatt dieser Zeile kannst du auch eine for-Schleife nehmen:

    Code :
    1
    2
    3
    4
    5
    6
    
    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.
     

Ähnliche Themen

  1. UserControl auf Tabpage
    Von Arijane im Forum .NET Windows Forms
    Antworten: 2
    Letzter Beitrag: 08.12.09, 07:46
  2. TabPage ausblenden
    Von mupa0013 im Forum .NET Archiv
    Antworten: 11
    Letzter Beitrag: 24.05.08, 14:58
  3. tabPage | tabControl
    Von mayhem im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 21.09.06, 00:13
  4. TabPage Reiter
    Von FEZ im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 04.03.05, 10:33
  5. tabPage.Click
    Von Alf im Forum .NET Archiv
    Antworten: 2
    Letzter Beitrag: 01.05.04, 12:34