Mehrere Comboboxen füllen, nur eine füllt sich?!

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von rade23.

    Mehrere Comboboxen füllen, nur eine füllt sich?!

    Ich habe folgenden Code im FormLoad geschrieben:

    VB.NET-Quellcode

    1. For Each line As String In MaterialartReader
    2. cmb_Materialart1.Items.Add(line)
    3. cmb_Materialart2.Items.Add(line)
    4. Next

    Klappt wunderbar! Nun soll beim Formularaufruf sofort etwas in den Comboboxen stehen
    Folgendes habe ich geschrieben:

    VB.NET-Quellcode

    1. cmb_Materialart1.SelectedIndex = 0
    2. cmb_Materialart2.SelectedIndex = 0

    Es wird aber nur Materialart1 gefüllt, Materialart2 nicht.
    Wenn ich die Materialart1-Zeile kommentiere, füllt sich Materialart2 jedoch... Wo liegt der Fehler?

    Das sind nicht die einzigen Comboboxen in meinem Formular. Da kommen noch einige dazu.
    Weitergehend ist es evtl. wichtig, dass die Comboboxen auf verschiedenen Panels liegen.
    code von freecoder aus älterem Thema (auf panel abgeändert) klappt nicht...

    VB.NET-Quellcode

    1. for each c as control in me.controls
    2. if typeof c is GroupBox then
    3. for each cBox as control in c.controls
    4. if typeof cBox is ComboBox then
    5. ctype(cBox, ComboBox).SelectedIndex = 1
    6. end if
    7. next
    8. end if
    9. next


    Hier nochmal der komplette Code:

    VB.NET-Quellcode

    1. Private MaterialartReader As String() = File.ReadAllLines(pfad & "Materialart.txt")
    2. Private Sub frm_Lasche_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. 'Materialart-Combobox füllen:
    4. For Each line As String In MaterialartReader
    5. cmb_Materialart1.Items.Add(line)
    6. cmb_Materialart2.Items.Add(line)
    7. Next
    8. 'Verbindungsmittel-Combobox füllen:
    9. For Each line As String In VMReader
    10. cmb_VM.Items.Add(line)
    11. Next
    12. 'und ersten Wert anwählen:
    13. 'cmb_Materialart1.SelectedItem = "1 - Nadelholz"
    14. 'cmb_Materialart2.SelectedItem = "1 - Nadelholz"
    15. txt_Breite1.Text = 80
    16. txt_Breite2.Text = 40
    17. txt_Höhe1.Text = 160
    18. txt_Höhe2.Text = 60
    19. txt_Winkel1.Text = 150
    20. txt_Winkel2.Text = 40
    21. End Sub

    Wenn ich die Materialboxen ent-kommentiere, füllen sich die Textboxen auch nicht...Ich versteh das nicht
    Danke im Voraus

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „rade23“ ()

    verwende nie, die gleichen variablennamen, schau deine schleifen an. Ersetzte in eine von beiden schleifen die Variable "line" durch anderen Variablen namen !

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SystemUnknow“ ()

    ich kann deine code nicht testen, da ich keine vb mehr habe...probiere mal so.


    VB.NET-Quellcode

    1. 'Materialart-Combobox füllen:
    2. For Each line As String In MaterialartReader
    3. cmb_Materialart1.Items.Add(line)
    4. cmb_Materialart2.Items.Add(line)
    5. Next
    6. cmb_Materialart1.SelectedIndex = 0
    7. cmb_Materialart2.SelectedIndex = 0
    8. For Each line As String In VMReader
    9. cmb_VM.Items.Add(line)
    10. Next
    hmmmm schon komisch...der Code ist schon richtig, tut alles was er tun mus.....hast du mal versucht reichefolge zu verändern z.b so:

    VB.NET-Quellcode

    1. Private MaterialartReader As String() = File.ReadAllLines(pfad & "Materialart.txt")
    2. Private Sub frm_Lasche_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    3. cmb_Materialart1.SelectedIndex = 0
    4. cmb_Materialart2.SelectedIndex = 0
    5. 'Materialart-Combobox füllen:
    6. For Each line As String In MaterialartReader
    7. cmb_Materialart1.Items.Add(line)
    8. cmb_Materialart2.Items.Add(line)
    9. Next
    10. 'Verbindungsmittel-Combobox füllen:
    11. For Each line As String In VMReader
    12. cmb_VM.Items.Add(line)
    13. Next
    14. txt_Breite1.Text = 80
    15. txt_Breite2.Text = 40
    16. txt_Höhe1.Text = 160
    17. txt_Höhe2.Text = 60
    18. txt_Winkel1.Text = 150
    19. txt_Winkel2.Text = 40
    20. cmb_Materialart1.SelectedIndex = 0
    21. cmb_Materialart2.SelectedIndex = 0
    22. End Sub

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „SystemUnknow“ ()

    alles was über der Schleife steht,funktioniert nicht, die Boxen bleiben leer.
    So wie Du geschrieben hast, erscheinen also die TextBoxen ausgefüllt, die Comboboxen bleiben leer
    Das kann ich ja auch noch nachvollziehen, wie soll er mir ein Item anzeigen, welches später erst eingelesen wird...
    ich hab mir wohl irgendwo nen Fehler reingebracht?!?
    Muss ja irgendwie...
    Hab in diesem Projekt einiges ausprobiert: Hinzugefügt und abgeändert und wieder rausgenommen, vorwärts, rückwärts...)
    Denke mal, dass da irgendwo was passiert ist. Klingt komisch, aber woran solls liegen?!?!?!?
    Ich werde jetzt wohl oder übel nochmal neu anfangen und wenn es dann klappen sollte, werde ich es hier nochmal posten...