Hi,
ok ok, wieder mal SplitContainer und DatagridView problems, Ich hoffe, ich gehe euch nicht zu sehr auf die Nerven !
Inzwischen habe ich die Sache mit dem dynamischen Ein- und Ausblenden der Spalten der Datagrid View dank eurer Denkanstöße hinbekommen. Das läuft alles sehr zufriedenstellend! Ich bin richtig happy.
Leider läuft aber eine Funktionalität NICHT:
Wenn ich den Splitter verschiebe, vergrößert sich das linke Panel1, während sich das rechte Panel2 entsprechend verkleinert und umgekehrt. So ist das ja auch vorgesehen.
Das möchte ich ändern. Wenn ich den Splitter nach rechts verschiebe und damit das linke Panel1 vergrößert wird, dann soll sich auch die Form um den gleichen Betrag vergrößern, damit das rechte Panel2 die Größe beibehält. Und Gleiches soll sinngemäß gelten, wenn man den Splitter nach links verschiebt. Die Größe des rechten Panels des SplitContainers soll also erhalten bleiben, wenn man den Splitter verschiebt.
Das Verändern der Fenstergröße ist normalerweise kein Problem. Wenn man das aber im Zusammenhang mit dem Verschieben des Splitters macht, tritt ein merkwürdiger Effekt auf:
Anhang 1 zeigt die Ausgangssituation.
Anhang 2 zeigt die Situation nach dem Verschieben des Splitters. Die Form vergrößert sich ... aber die DatagridView wird nicht "mitgenommen". Und genau das ist mein PROBLEM !
Wenn man nun die Form geringfügig verkleinert oder vergrößert, wird dieser Fehler merkwürdigerweise "automatisch korrigiert". Dies zeigt Anhang 3.
Hat jemand eine Ahnung woran das liegt ? Und wie man das gegebenenfalls beheben kann ?
Ich hab mein Testproject zum Ausprobieren angehängt.
LG
Peter
ok ok, wieder mal SplitContainer und DatagridView problems, Ich hoffe, ich gehe euch nicht zu sehr auf die Nerven !
Inzwischen habe ich die Sache mit dem dynamischen Ein- und Ausblenden der Spalten der Datagrid View dank eurer Denkanstöße hinbekommen. Das läuft alles sehr zufriedenstellend! Ich bin richtig happy.
Leider läuft aber eine Funktionalität NICHT:
Wenn ich den Splitter verschiebe, vergrößert sich das linke Panel1, während sich das rechte Panel2 entsprechend verkleinert und umgekehrt. So ist das ja auch vorgesehen.
Das möchte ich ändern. Wenn ich den Splitter nach rechts verschiebe und damit das linke Panel1 vergrößert wird, dann soll sich auch die Form um den gleichen Betrag vergrößern, damit das rechte Panel2 die Größe beibehält. Und Gleiches soll sinngemäß gelten, wenn man den Splitter nach links verschiebt. Die Größe des rechten Panels des SplitContainers soll also erhalten bleiben, wenn man den Splitter verschiebt.
Das Verändern der Fenstergröße ist normalerweise kein Problem. Wenn man das aber im Zusammenhang mit dem Verschieben des Splitters macht, tritt ein merkwürdiger Effekt auf:
VB.NET-Quellcode
- Private Sub SplitContainer1_SplitterMoved(sender As Object, e As SplitterEventArgs) Handles SplitContainer1.SplitterMoved
- 'Adjust width of form according to shift of splitter
- Dim currentFormSize As Size = Me.Size 'Get current form size
- Dim ShiftSplitter As Integer = SplitContainer1.SplitterDistance - HoldSplitterDistance
- HoldSplitterDistance = SplitContainer1.SplitterDistance 'Remember new splitter position
- currentFormSize.Width += ShiftSplitter 'Adjust form size according to shift of splitter
- Me.Size = currentFormSize
- End Sub
Anhang 1 zeigt die Ausgangssituation.
Anhang 2 zeigt die Situation nach dem Verschieben des Splitters. Die Form vergrößert sich ... aber die DatagridView wird nicht "mitgenommen". Und genau das ist mein PROBLEM !
Wenn man nun die Form geringfügig verkleinert oder vergrößert, wird dieser Fehler merkwürdigerweise "automatisch korrigiert". Dies zeigt Anhang 3.
Hat jemand eine Ahnung woran das liegt ? Und wie man das gegebenenfalls beheben kann ?
Ich hab mein Testproject zum Ausprobieren angehängt.
LG
Peter