Ich möchte einen anständigen AutoResize
Mechanismus zu meinem Listview hinzufügen, aber ich weiß nicht, was ich tun soll.Implementieren Sie einen schönen Autoresize-Mechanismus für ListView-Spalten?
habe ich die letzte Spalte itselfs AUTORESIZE, wenn das Formular die Größe:
:
Private Sub Form1_Resize(sender As Object, e As EventArgs) _
Handles MyBase.Resize
ColumnDownload.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize)
End Sub
Aber diese nativen Autoresize Methode ist so falsch, denn wenn ich die Anwendung Größe ändern, wird die horizontale Bildlaufleiste angezeigt
Ofcourse Wenn ich von mir selbst mit der Maus auswählen th Das letzte Spaltentrennzeichen, um die Spaltenbreite zu erhöhen, dann möchte ich die horizontale Bildlaufleiste sehen/verwenden, aber das Autoresize-Framework erhöht automatisch die Größe, die diese horizontale Bildlaufleiste anzeigt, ist so hässlich und unscharf, dass die Bildlaufleiste bei der Größenänderung nicht automatisch angezeigt werden muss !
Das Aussehen, die ich möchte nur JDownloader und all die netten Programme hat, ein Autoresize, die genau auf den Beginn der vertikalen Scrollbalken stoppt, ohne den hässlichen horizontalen Scrollbar zeigt, wenn nicht beispielsweise wie dies erforderlich ist,:
Ich hoffe, dass Sie meine Frage verstehen konnten.
EDIT:
'magische Lösungen' wie diese:
MyColumnHeader.Width = -2
MyColumnHeader.Width = -1
... Hat das gleiche. Siehe guten Artikel hier:
Wirklich alle Google-Suchergebnisse über Größenanpassung einer Listview in .NET verwenden, dass jede proportionale Größe oder Alternative, jede anständige automatische Resizer, unglaublich.
Code schreiben, um die Größe jeder Spalte proportional zur neuen Breite des Steuerelements zu ändern ** weniger ** die Breite des vertikalen Bildlaufs. OnSizeChanged vielleicht, setzen Sie jede Spaltenbreite zurück und rufen Sie dann Invalidate auf. benötige wahrscheinlich auch eine 'rectOldSize', um den proportionalen Teil ausführen zu können. – Plutonix
Wie werden diese angepasst, wenn Sie die Größe der App ändern? Verwenden Sie ein TableLayoutPanel oder einen Code-Code? Ich habe eine Prozedur für, wenn VScrolls erscheinen, aber ich bin nicht sicher, ob das das ist, was Sie suchen (oder wenn es mit einem TLP oder was ein TLP Colum breiten funktioniert). – Plutonix
'Wie werden diese angepasst, wenn Sie die Größe der App ändern?' Ich habe die (seltsame) Methode zur Größenanpassung der letzten Spalte beschrieben, außerdem habe ich den Aspekt der 'LV' gezeigt, wenn ich die Größe der App im Bilder oben, alle notwendigen Informationen sind in der Frage, es gibt keinen Code mehr darüber. Ich verwende kein 'TLP', verwende die 'Anchor'-Eigenschaft, um die' LV' zu ändern, wenn die Größe des Formulars geändert wird. Ich denke, eine Funktion zu wissen, wenn ein 'VSCroll' erscheint kann mir für nichts helfen, eine perfekte Lösung (Träumen ist kostenlos) könnte der Code sein, der' ObjectListView' verwendet, um die proportionale Größe für die generische Verwendung zu übersetzen. – ElektroStudios