Listview - Scrollbar

  • VB.NET

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

    Listview - Scrollbar

    Hallo zusammen,

    jetzt musste ich mir extra für die Sache ein Account erstellen - Sorry.

    Folgende Problemstellung:

    Ich habe eine Lsistview, die ich mithilfe eines Button temporär mit Daten befülle.
    Die Daten sind abhängig von 2 Textboxen.
    Abhängig von den Textboxen kann die Listview mehrere Spalten haben (>30).

    Wenn ich das Programm starte, meine Eingaben in den Textboxen mache und auf den Button klicke, wird die Listview ausgefüllt und (wenn zu viele Spalten) unten erscheint die horizontale Scrollbar.
    Wenn ich jetzt aber die Eingaben in den Textboxen verändere und nochmal auf den Button klicke, wird die Listview zwar neu befüllt, aber es erscheint keine Scrollbar mehr. Ich muss erst das Programm neustarten.

    Welchen Grund hat das und gibt es dafür Lösungen?

    Ich bin im Google und hier im Forum nicht fündig geworden, wobei ich auch nicht recht weis wie ich suchen soll....

    Danke schonmal für die Hilfe :)
    Willkommen im Forum!

    Jo, dein Problem kommt entweder von einem Bug in der ListView-Klasse, oder von einem Bug in deim Code.

    Aber auch die Beschreibung des Fehlverhaltens ist mir noch unklar: Du sagst das LV wird neu befüllt, und soll nun eine Tabelle mit anderen Spalten und anderer SpaltenAnzahl darstellen - was ist nachm Befüllen mit den Spalten-Überschriften? Sinds dieselben wie vorher? Andere? Fehlen welche?
    Hallo und Danke,

    ok das ist schon mal ein Ansatz. Falls es ein Fehler in meinem Code ist, werde ich den sicher nicht finden.
    Ich bin totaler Newbie in VB...

    Die Spaltenanzahl ist auch variabel. Trage ich z.B in Textbox2 1234 ein, dann werden auch 4 Spalten (eine für jede Ziffer) erzeugt...
    Diese werden auch alle richtig erzeugt, man sieht die halt nicht weil die Scrollbar plötzlich verschwindet.
    Mit jedem Button-Klick wird die Liestview übrigens vorher gecleart.

    Naja es ist nur ein Testprogramm für die Schule, deswegen werde ich es sein lassen wenn der Aufwand zu groß.
    Den Code werde ich auch nicht umschreiben, dafür fehlt mir momentan einfach die Zeit.

    Das Porgramm ist übrigens ein kleiner Rechner, der jede Zahl Zur Basis x in eine Dezimalzahl umwandelt. Und das alles schön mit Rechenweg eben in der Listeview auf gezählt.

    Viele Grüße

    Memo
    Für mich hört sich das fast so an als würdest du die View der Listview während des neubefüllens ändern. Nutzt du immer den gleichen Code zum befüllen? Stell im Code sicher, dass du die richtige View gesetzt hast und auch das die Scollbars aktiviert sind.

    VB.NET-Quellcode

    1. ListView1.Scrollable = True
    2. ListView1.View = View.Details
    3. ListView1.Clear()


    Diese drei Zeilen habe ich im Klick-Event vom Button stehen.

    Gilt das:

    VB.NET-Quellcode

    1. ListView1.Scrollable = True


    für die vertikale und die horizontale Scrollbar?

    Ja zum Befüllen wird immer der gleiche Code benutzt.



    EDIT:

    Ich habe da noch eben was raus gefunden. Ist etwas schwer zu erklären.

    Wenn ich die Höhe der Listview verkleinere, sodass später auch eine vertikal Scrollbar entsteht, wird korrekterweise auch eine vertikale Scrollbar erstellt.

    Wenn ich jetzt mit dem 2. Button-Klick die Liste neu befülle, verschwindet die horizontale aber nicht die vertikale Scrollbar.
    Jetzt wird's noch interessanter: Wenn ich jetzt mit dem Mausrad die vertikale Scrollbar "scrolle", erscheint plötzlich wieder die horizontale.... Alles ein bisschen merkwürdig

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