Hallo zusammen,
die WinForms-ListBox hat ein nettes Verhalten, welches ich auch gern im DGV hätte:
Spoiler anzeigen
Im Designer wird zwar bei einem freistehenden DGV - wenn auch ruckelig - die richtige Größe eingestellt und Anchor Bottom+Up funktioniert super, auch Docking ist akzeptabel. Aber spätestens, wenn man das freistehende DGV am oberen Rand anfasst und es in der Größe verändert, wird's Mus. Ich werd das Gefühl nicht los, dass ich die Sache falsch angehe. Hat mir jemand einen Tipp, wie ich das gewünschte Verhalten in WinForms-.NET-FX erreichen kann? Aus dem ListBox-SourceCode wurde ich leider nicht schlau
die WinForms-ListBox hat ein nettes Verhalten, welches ich auch gern im DGV hätte:
IntegralHeight
. Da werden bei True immer nur ganze Zeilen angezeigt. Da ich häufig mit nem DGV arbeite, darin konstante Schrift und einzeiligen Inhalt verwende, würd ich das gerne auch so im DGV haben. Leider sind meine Versuche bisher gescheitert:VB.NET-Quellcode
- Friend Class DGV : Inherits DataGridView
- Private FlowingHeight As Integer = 0
- Private LatestHeight As Integer = 0
- Private IgnoreSizeChange As Boolean = False
- Protected Overrides Sub OnSizeChanged(e As EventArgs)
- If FlowingHeight = 0 AndAlso LatestHeight = 0 Then
- FlowingHeight = Height
- LatestHeight = Height
- End If
- If Not IgnoreSizeChange Then
- IgnoreSizeChange = True
- Dim Offset = Height - LatestHeight
- FlowingHeight += Offset
- Height = ((FlowingHeight - If(ColumnHeadersVisible, ColumnHeadersHeight, 3)) \ RowTemplate.Height) * RowTemplate.Height + If(ColumnHeadersVisible, ColumnHeadersHeight, 3)
- LatestHeight = Height
- End If
- MyBase.OnSizeChanged(e)
- IgnoreSizeChange = False
- End Sub
- End Class
Im Designer wird zwar bei einem freistehenden DGV - wenn auch ruckelig - die richtige Größe eingestellt und Anchor Bottom+Up funktioniert super, auch Docking ist akzeptabel. Aber spätestens, wenn man das freistehende DGV am oberen Rand anfasst und es in der Größe verändert, wird's Mus. Ich werd das Gefühl nicht los, dass ich die Sache falsch angehe. Hat mir jemand einen Tipp, wie ich das gewünschte Verhalten in WinForms-.NET-FX erreichen kann? Aus dem ListBox-SourceCode wurde ich leider nicht schlau
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.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.