ListView mit 2 Spalten automatisch an die Formgrösse anapssen
-
Hallo,
ich hoffe ihr könntet mir weiter helfen.
Ich habe eine Listview mit 2 Spalten.
Die Spaltenbreiten sind gleich.
Nun möchte ich, dass das Spaltenverhältniss beibehalten wird wenn ich die Formgrösse verändere.
Wenn ich also die Form vergrössere, dann sollen die Spalten ( in meinem Fall 2 )
auch skaliert werden, das heisst dass die Spalten auch grösser werden und dass ich immer nur 2 Spalten zur Ansicht bekomme.
Momentan sieht es so aus, dass die Spaltenbreiten fest sind und beim Vergrössern der Form kommen die anderen Spalten, die ich eigentlich nicht brauche.
Wie kann ich es lösen?
-
Hallo,
das einfachste wird sein wenn du das Resize-Event des Forms bzw. des ListViews verwendest.
Darin setzt du die Spaltenbreiten auf -2. Das Veranlasst das ListView die Spalten so zu vergrößern, dass sie den vollen Bereich einnehmen.
-
Vielen Dank für deinen Vorschlag.
Ich habe den Event gefunden,
kannst du mir bitte ein Tip oder Beispiel nennen, wie ich es anwende.
-
vielen Dank noch Mal,
ich glaube es hat geklappt aber nicht ganz
ich habe die Folgenden Zeilen
in den Ereignis
Form1_ResizeEnd
gepackt:private void Form1_ResizeEnd(object sender, EventArgs e) { Header1.Width = -2; Header2.Width = -2; }
wo Header die Spaltenüberschriften sind
Jetzt wird die erste Spalte auf die Breite der Überschrift angepasst und die 2.te nimmt den Rest des Fensters.
Geht es auch mit dem Verhältniss 1 zu 1 also beide Spalten gleich gross oder habe ich was falsch gemacht?
-
Ich schliesse das Thema
Problem ist gelöst, ganz simpel
Listviewbreite auslesen durch 2 spalten teilen und fertig
Danke für den Tip mit dem Ereignis!