Checkedlistbox macht Probleme

  • VB.NET

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

    Checkedlistbox macht Probleme

    Hallo, habe nach ca, 6-7 Jahren mal wieder angefangen mit VB. Ich bin gerade dabei ein Programm zu schreiben, das mir einen Überblick über meine Nintendo 64 Sammlung geben soll. Welche Spiele ich habe bzw. nicht habe, Notizen etc. Ich habe alle Spiele in eine CheckedListBox eingetragen und die Codes Label3.Text = String.Format("{0} / {1}", CheckedListBox1.CheckedItems.Count, CheckedListBox1.Items.Count) und ProgressBar1.Value = CheckedListBox1.CheckedItems.Count eingetragen. Funktioniert allerdings nur bedingt und zwar nur dann wenn ich einmal auf die Progressbar klicke. Es funktioniert ansonsten alles, die Anzahl stimmt, Plus, Minus etc. Jemand eine Idee wie ich das hinbekomme? Habe einen Screenshot verlinkt (Dateianhang)

    Danke im Vorraus.
    Nico

    *Topic verschoben, das ist kein VBA*
    Bilder
    • 251e51bec200442bc7bc867403e8a542.png

      26,49 kB, 390×564, 252 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Können wir uns erst auf eine Programmierumgebung einigen.
    VBA scheint es meiner Meinung nach nicht zu sein.

    Nicox7 schrieb:

    nur dann wenn ich einmal auf die Progressbar klicke
    es wäre nicht uninteressant, wie dein ProgressBar eingebunden ist.
    Fängst du irgendwelche Events ab, in denen du den Rest des Programms, der im gleichen Thread läuft, blockierst?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das ist jetzt aber ein völlig losgelöstes Problem.
    Du könntest die Source der Listbox an eine Datenstruktur binden, die in den Settings gespeichert ist.

    Aber möchtest du nicht lieber ein Problem nach dem anderen lösen?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

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

    petaod schrieb:

    Können wir uns erst auf eine Programmierumgebung einigen.
    VBA scheint es meiner Meinung nach nicht zu sein.

    Nicox7 schrieb:

    nur dann wenn ich einmal auf die Progressbar klicke
    es wäre nicht uninteressant, wie dein ProgressBar eingebunden ist.
    Fängst du irgendwelche Events ab, in denen du den Rest des Programms, der im gleichen Thread läuft, blockierst?


    Dann habe ich wohl leider nicht das richtige Subforum gefunden, etwas unübersichtlich für Neulinge meiner Meinung nach. Ich benutze VB 2010 Express.
    Es ist ansonsten nichts anderes eingebunden, das irgendwelche Events abfängt etc. Um genau zu sein sind das die einzigen 2 Codes bis jetzt...
    Wenn ich das gleiche mit nur 4 Boxen in der Checkedlistbox mache, funktioniert es zwar sofort, aber das Ergebnis ist verfälscht wenn man zu schnell klickt (Passiert bei diesem Programm aber nicht). Irgendwas stimmt da nicht...

    petaod schrieb:

    Das ist jetzt aber ein völlig losgelöstes Problem.
    Du könntest die Source der Listbox an eine Datenstruktur binden, die in den Resources gespeichert ist.

    Aber möchtest du nicht lieber ein Problem nach dem anderen lösen?


    Naja, es funktioniert ja, bloß halt nicht richtig, also würde die Speicherfunktion schon weiterhelfen :D Und wie mache ich das jetzt genau? Tut mir Leid, ich habe leider fast alles vergessen was mit VB zu tun hat :/

    Ich weiß nicht genau wie ich den hier einfüge, hoffentlich hilft der Screenshot
    gyazo.com/536961b05eecaf613c3f4123b5457941

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

    Shit.
    Ich habe gerade realisiert, dass es sich um eine CheckedListbox handelt.
    Die hat gar keine Datasource-Property.
    Da wird's schwierig mit Binding.

    Nichtsdestotrotz könntest du dich mal mit diesem Artikel zum Thema Daten persistieren rumschlagen:
    Wie am besten die Einstellungen speichern?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Nicox7 schrieb:

    einen Überblick über meine Nintendo 64 Sammlung geben soll. Welche Spiele ich habe bzw. nicht habe, Notizen etc.

    Nicox7 schrieb:

    zu speichern wenn das Program geschlossen wird
    Das sind beides Anforderungen einer Datenverarbeitung.
    Es gibt mindestens eine Tabelle mit Spiel-Datensätzen, und die Datensätze haben mindestens die Properties Name As String, HabIch As Boolean, Notiz As String. Höchstwahrscheinlich kommen noch weitere Properties hinzu, und evtl. auch weitere Tabellen.
    Und du willst Datensätze zufügen, Löschen und ändern können (also Crud), sowie abspeichern, laden und filtern (zB nach Habich, oder Not Habich) - was ist mit Sortieren?

    Vergiss deine CheckedListbox, lerne Daten und Oberfläche zu trennen, zunächstmal im Kopf, also konzeptionell.
    Was ich bisher skizziert habe lässt sich mit wenigen Zeilen lösen, wenn man weiß wie.
    Guck ma, ob du was mit Daten laden, speichern, verarbeiten - einfachste Variante anfangen kannst, oder ob das schon zu hoch ist.
    Wenn zu hoch, solltest du es lernen, und nicht versuchen, es trotzdem zu lösen, ohne zu wissen, wie's geht.