Contains mit ListView

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Contains mit ListView

    Hallo Gemeinde,

    folgendes Problem:

    Ich habe eine ListView in dem ich Sachen eintrage. Frage und Lösung in zwei Spalten.
    Per InputBox lasse ich eine Abfrage laufen ob die Werte gleich sind.
    Soweit alles gut.
    Jetzt möchte ich aber nur das auch Teile der Lösung richtig sind.
    z.B:
    abfrage: grade Zahlen
    Lösung: 2 4 6

    Leider bekomme ich das nur hin wenn ich eine Zahl als lösung angebe.
    Hab das schon mit Contains probiert aber ohne Erfolg..... :(

    Habt Ihr ne Idee?

    hier der Code:

    Visual Basic-Quellcode

    1. For Each item As ListViewItem In ListView1.Items
    2. Label3.Text = " Von " & ListView1.Items.Count & " hast du " & ListView2.Items.Count & " Falsch."
    3. Dim loesung As String = InputBox(item.Text)
    4. If loesung.Contains(item.SubItems.Item(1).Text) = True Then
    5. MsgBox("Richtig", MsgBoxStyle.Information)
    6. Else
    7. MsgBox("Falsch" & vbNewLine & "Richtig währe " & vbNewLine & item.SubItems.Item(1).Text & vbNewLine & "gewesen.", MsgBoxStyle.Critical)
    8. With ListView2.Items.Add(item.Text)
    9. .SubItems.Add(item.SubItems.Add(item.SubItems.Item(1).Text))
    10. End With
    11. End If
    12. Next


    Danke für die Hilfe.
    Hallo.

    Bin selbst hinter gekommen.
    Hier der richtige Code:

    Visual Basic-Quellcode

    1. For Each item As ListViewItem In ListView1.Items
    2. Label3.Text = " Von " & ListView1.Items.Count & " hast du " & ListView2.Items.Count & " Falsch."
    3. Dim loesung As String = InputBox(item.Text)
    4. If item.SubItems.Item(1).Text.Contains(loesung) = True Then
    5. MsgBox("Richtig", MsgBoxStyle.Information)
    6. Else
    7. MsgBox("Falsch" & vbNewLine & "Richtig währe " & vbNewLine & item.SubItems.Item(1).Text & vbNewLine & "gewesen.", MsgBoxStyle.Critical)
    8. With ListView2.Items.Add(item.Text)
    9. .SubItems.Add(item.SubItems.Add(item.SubItems.Item(1).Text))
    10. End With
    11. End If
    12. Next


    Danke trozdem.

    s_ollis schrieb:

    VB.NET-Quellcode

    1. If item.SubItems.Item(1).Text.Contains(loesung) = True Then
    Mach das vielleicht so, um unterschiedliche Schreibweisen zu ignorieren:

    VB.NET-Quellcode

    1. If item.SubItems.Item(1).Text.ToLower().Contains(loesung.Trim().ToLower()) Then

    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!