CheckedItems().ToString Question

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    CheckedItems().ToString Question

    Guten Morgen,

    ich probiere schon seit einigen Stunden rum. Hoffentlich kann mir jemand Auskunft geben.

    Und zwar möchte ich per Button aus einer CheckedListBox alle ausgewählten Items in einen String packen und auf ein Label schreiben.
    Nur das ich es visuell vor mir habe.

    Wie ich es benutze:

    VB.NET-Quellcode

    1. Dim y As String = CheckedListBox1.CheckedItems(y).ToString()
    2. Label2.Text = y


    Was dabei im Label rauskommt:


    Vielen Dank im Vorraus

    Edit:
    Habe gerade eine zweite Möglichkeit gefunden. Leider kommt man im Label nur "Checked"

    VB.NET-Quellcode

    1. For Each itemChecked In CheckedListBox1.CheckedItems
    2. Dim y As String = CheckedListBox1.GetItemCheckState(CheckedListBox1.Items.IndexOf(itemChecked)).ToString()
    3. Label2.Text = y
    4. Next

    Auch so funktioniert es nicht:

    VB.NET-Quellcode

    1. ​Label1.Text = ListBox1.SelectedItem()
    2. For Each itemChecked In CheckedListBox1.CheckedItems
    3. Dim y As String = itemChecked
    4. Label2.Text = y
    5. Next


    Greets

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

    Nun, Dein Code

    VB.NET-Quellcode

    1. Dim y As String = CheckedListBox1.CheckedItems(y).ToString()
    2. Label2.Text = y
    ist zwar nahe an der Wahrheit dran, deutet aber darauf hin, dass Du mit Option Strict Off arbeitest. y ist ein String. Wie soll es da als Index für CheckedItems verwendet werden können? Denn der Code bedeutet ja »Gib mir das y. CheckedItem«. Stünde für y an jener Stelle 0, dann eben »Gib mir das 1. CheckedItem (also das an Position 0)«, stünde für y an jener Stelle 10, dann eben »Gib mir das 11. CheckedItem (also das an Position 10)«

    GetItemCheckState macht genau das, was es besagt. Es gibt wieder, ob ein Item abgehakt ist oder nicht.
    Der dritte Code ist auch nur die halbe Wahrheit. Ja, Du musst mit .ToString() arbeiten. Aber nicht bei jedem weiteren CheckedItem die bisherigen Daten des Labels überschreiben.

    Folgendes läuft:

    VB.NET-Quellcode

    1. Dim CheckedItems As New List(Of String)
    2. For Each CheckedItem As String In CheckedListBox1.CheckedItems
    3. CheckedItems.Add(CheckedItem)
    4. Next
    5. Label2.Text = String.Join(", ", CheckedItems.ToArray())

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „VaporiZed“ ()

    Vollzitat entfernt
    Ah okay, vielen Dank. Von Alleine wäre ich nicht drauf gekommen.
    Das "String.Join" steht nun also dafür, das der Text nicht ersetzt wird sondern etwas dran gehängt wird?

    ~blaze~: Vollzitat entfernt

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

    @xprotonx33 Wenn Du statt des Labels eine ListBox nimmst, sähe Deine Lösung so aus:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. ListBox1.Items.Clear()
    3. For Each item In CheckedListBox1.CheckedItems
    4. ListBox1.Items.Add(item)
    5. Next
    6. End Sub
    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!
    @xprotonx33: Jup. Die einzelnen Bestandteile werden miteinander verknüpft. In diesem Fall steht zwischen den Einträgen ein ", ". Weiteres siehe im MSDN.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Vollzitat entfernt
    Ah okay danke, benutze ein Label weil im GUI zu sehen seil soll was ausgewählt wurde. Mit einer ListBox sähe das ein bisschen komisch aus.
    Eine kleine Frage hätte ich trzd noch.
    Habe heute Früh das Projekt gespeichert und bin schlafen gegangen. Nur leider funktioniert seitdem ich es neu geöffnet habe nichts mehr richtig.
    Vorschläge werden mir nichtmehr angezeigt und simple Dinge wie:

    VB.NET-Quellcode

    1. Label3.Text = "Test"

    Funktionieren nichtmehr.

    ~blaze~:Vollzitat entfernt

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

    xprotonx33 schrieb:

    Vorschläge werden mir nichtmehr angezeigt
    , geschieht vor allem dann, wenn man eine projektfremde Codedatei bearbeitet. Einfach mal alle offenen Visual-Studio-Dateien schließen und über den Projektexplorer öffnen. Dort sieht man auch, ob man noch im richtigen (Teil)Projekt ist.

    xprotonx33 schrieb:

    Funktionieren nichtmehr.
    Heißt? Programm wird nicht beeinflusst? Dann siehe oben. Es werden Fehler angezeigt? Dann mal Screenshot zeigen oder Projekt bereinigen, zippen und hochladen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    xprotonx33 schrieb:

    Funktionieren nichtmehr.
    Die beste Fehlerbeschreibung seit 2 Jahren und 3 Monaten. :/
    Den Code, den Du überflüssigerweise zitiert hast, habe ich Dir erst heute Mittag gepostet.
    Hat das damit was zu tun?

    xprotonx33 schrieb:

    benutze ein Label weil im GUI zu sehen seil soll was ausgewählt wurde. Mit einer ListBox sähe das ein bisschen komisch aus.
    Was sieht daran komisch aus? Sieht bei mir genau so aus wie auf einem Bilr.
    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!
    Vollzitat entfernt
    So sähe es nicht komisch aus. Aber für was sollte ich es so aufzählen lassen wenn ich im fertigen GUI kein Platz dafür habe. Müsste ein Extra Fenster öffnen oder nochmal an`s Design gehen.
    Dein Code hatte nichts damit zutun, er hat mir dennoch weitergeholfen.
    Mir wurde von Visual Studio kein Error angezeigt, die Zeile war blau Unterstrichen und ich habe keine Vorschläge beim schreiben bekommen.
    Visual Studio neugestartet und alles lief.

    ~blaze~:Vollzitat entfernt

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

    @xprotonx33 OK.
    Unterlass bitte das vollständige Zitieren der Beiträge über Dir.
    Poste mal ein Bild von Deiner GUI und beschreib, was da alles angezeigt wird.
    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!
    Kein Problem. Das Design ist in Zwei Ausführungen vorhanden. Beide sollen für das Programm benutzt werden. Je nach Wunsch des User's.

    Light Sky:


    Dark Sky:

    Das Design ist einfach erklärt. Oben links, der Titel. Zur rechten die Menü Button's. Im linken Feld befindet sich im ersten Moment eine Login Form. In dieser Form soll Kundenname + Passwort und Land+Region Auswahl zu finden sein.
    Im rechten Feld befinden sich nach dem Login die zuletzt gespeicherten Call's sowie einige Informationen wie z.B. Telefonnummer, Name Vorname und Grund. Der ausgewählte Case soll dann unter dem rechten Feld in einem Label angezeigt werden. Die Call's als Audio Datei werden in einem extra Fenster mit Timeline abgespielt. Case Note's können auch durch einen Click mit dem vom User gewünschten Editor(Notepad++, notepad, etc..). Bearbeitet und abgespeichert werden.
    @xprotonx33 Was haben diese Bilder mit Deinem Bild und dem Problem aus Post #1 zu tun?
    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!

    xprotonx33 schrieb:

    Willst du mich rollen?
    Ich will Dir helfen Dein Problem zu lösen.
    In Post #1 ist ein kleiner Ausschnitt Deiner GUI. Von verschieden farbigen und ansonsten gleichen Bildern war hier bisher nix zu lesen.
    Ausgangspunkt war:

    xprotonx33 schrieb:

    ... wenn ich im fertigen GUI kein Platz dafür habe. ...
    Und:
    Unterlasse das vollständige Zitieren von Posts.
    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!