Combobox Item ansprechen/auslesen

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Einsteiger.

    Combobox Item ansprechen/auslesen

    Hi,

    wie kann ich denn einer Comboboy (die Auflistung istschon erstellt) sagen, dass sie jetzt z.b. die 1. Zeile nehmen soll. Ich versuch das immer so aber es geht nicht
    wenndateivorhanden.Items.Item = 1

    MfG, lace
    zum Anzeigen

    VB.NET-Quellcode

    1. ComboBox1.SelectedIndex = 2

    zur Verwendung

    VB.NET-Quellcode

    1. Dim tst As String = ComboBox1.Items(2).ToString
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Einsteiger schrieb:

    0 weil Informatiker mit 0 anfangen zu tzählen und nicht mit 1

    Das ist nicht ganz richtig, Informatiker "Zählen" wie normale Menschen. Aber in der Programmierwelt gibt es manche Datentypen die Nullbasierend sind wie z.B. Arrays, Collections, Listen usw. Sicher gibts dafür auch einen technischen Grund aber auch einen Logischen, denn 0 ist nunmal der kleinstmögliche positive Wert und damit auch nur logisch, dass 0 auch der Index des ersten Elementes ist.
    danke liebe leute! ist doch immer wieder toll so eine flotte community!
    edit:
    hab noch ein problem.

    VB.NET-Quellcode

    1. Dim Zeile() As String = IO.File.ReadAllLines("config.cfg", System.Text.Encoding.Default)
    2. Form1.TextBox1.Text = Zeile(3)
    3. Form1.CheckBox1.Checked = Zeile(6)


    In Zeile6 steht True

    Wieso bekomme ich diesen Eror:
    Ungültige Konvertierung von der Zeichenfolge no in Typ Boolean.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „lace“ ()

    VB.NET-Quellcode

    1. Form1.CheckBox1.Checked = IIf(Zeile(6).Trim.ToLower() = "true", True, False)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. Form1.CheckBox1.Checked = Zeile(6).Trim.ToLower() = "true"

    wäre wohl schneller und kürzer...
    Edit: hmm außerdem hab ich doch in nem anderen Thread bereits darauf geantwortet per Parse/TryParse
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Das bringen die Lösungen alle.
    Man testet nur auf einen Fall (True) und setzt den Rest auf False.
    An sonsten habt Du ein Problem. wenn Zeile 6 fehlt und in der 7. Zeile steht "Schönhauser Allee 27" oder so.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ja, ob jetz in zeile6 true oder false steht is dem egal
    der macht einfach nen haken, egal was da steht -.-

    EDIT: jop die if abfrage hatte ich auch schon, aber ich dachte mir das muss doch auch besser gehn. naja, wenn es keine andere möglichkeit gibt nehm ich die
    Also.
    Saubere Lösung: "True" ist True, "true" ist True und der Rest ist False.
    Oder
    Saubere Lösung: "True" ist True, "true" ist True, "1" ist True, "Ja" ist True, "Yes" ist True und der Rest ist False.
    Oder
    oder
    usw.
    Du musst Dich einfach festlegen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    so ok dann nehm ich die if abfrage.

    nochmal zurück zu der combobox:
    wenn ich folgendes in die form1 direkt schreibe, wo auch die combobox liegt, dann macht er das:
    Form1.wenndateivorhanden.SelectedIndex = Zeile(15)

    wenn ich das aber in meine 2. form schreibe (diese also das der 1. sagen soll) dann klappt das nicht.
    Meine Güte:
    Parse/TryParse ist Wahl Nummer eins...

    Anschließend kommt meine zweit Lösung:

    VB.NET-Quellcode

    1. Form1.CheckBox1.Checked = Zeile(6).Trim.ToLower() = "true"


    Erst dann kommt IIf und If...

    Falls False eingegeben wird, wird in jedem Fall False übergeben als Bool und ebenfalls mit True...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    ich versteh das mit dem parse einfach nicht! ich bin jetz auf etlichen seiten gelandet.

    zuerst hab ich einfach nur diese zeile eingefügt:

    Form1.CheckBox1.Checked = Zeile(6).Trim.ToLower() = "true"

    aber wenn ich einfach nur die einfüge und es so lasse, dann macht er nen haken bei der checkbox. ob da nun true oder false steht is dem egal!

    aber was muss denn vor und hinter die?! omg das is gebiet auf dem ich noch nie war! wie soll ich dass den so plötzlich kapieren?!
    kann es ein, dass Form2 nicht auf die Variable Zeil(15) zugreifen kann?

    außerdem bei dem:
    Form1.wenndateivorhanden.SelectedIndex = Zeile(15)

    Zeil(15) ist ein String, das hier erfordert aber einen Iteger, wenn in Zeile(15) eine Zahl steht, dann mach es besser so: CInt(Zeile(6))
    Wenn es dass Item sein soll, dann so:

    Form1.wenndateivorhanden.SelectedItem= Zeile(15)

    Gruß Einsteiger