Hallo,
Ich habe in meinem Project eine Classe von TabPage und TabControl abgeleitet.
Die TabPage hat eine zusätzlich Eigenschaft "Visible" bekommen, welche die Instanz aus der "TabPages" Eigenschaft des TabControls entfernt.
Und zwar mittels "Remove(TabPage)".
Da ich diese Eigenschaft (Visible) dynamisch zur Laufzeit setze, sind mir unschöne visuelle effekte aufgefallen (flickern der Seite).
Mittels Lutz Roeder's reflector habe ich dann herausgefunden, daß das Framework die "SelectedIndex" eigenschaft des TabControls beim "Remove" Aufruf setzt.
Und zwar entfernter Index -1.
Und genau das will ich nicht!!!
Da ich genau die TabPage anzeigen will die auch vor dem entfernen sichtbar war. Um die Sicherheit, daß die zu entfernende TabPage auch die gerade sichtbare ist, würde ich mich dann schon kümmern.
Lösungsversuche:
Da die "SelectedIndex" Eigenschaft nicht als virtual deklariert ist, ist die Überschreibung nicht möglich.
Eine Idee die mich lange Zeit (unnötig) gekostet hat, war:
Eine Klasse von TabPageCollection abzuleiten und diese dann zum deklarieren der "TabPages" Eigenschaft der "TabControl" Klasse zu verwenden. Dabei hab ich versucht die "Remove" bzw. "RemoveTabPage" Eigenschaft zu überschreiben. Wie gesagt leider ohne Erfolg, da nötige parameter als internal deklariert sind und mir der Zugriff verweigert wurde!
Würde mich über einen Lösungsansatz freuen!
Danke für Eure Zeit!
Martin
Ich habe in meinem Project eine Classe von TabPage und TabControl abgeleitet.
Die TabPage hat eine zusätzlich Eigenschaft "Visible" bekommen, welche die Instanz aus der "TabPages" Eigenschaft des TabControls entfernt.
Und zwar mittels "Remove(TabPage)".
Da ich diese Eigenschaft (Visible) dynamisch zur Laufzeit setze, sind mir unschöne visuelle effekte aufgefallen (flickern der Seite).
Mittels Lutz Roeder's reflector habe ich dann herausgefunden, daß das Framework die "SelectedIndex" eigenschaft des TabControls beim "Remove" Aufruf setzt.
Und zwar entfernter Index -1.
Und genau das will ich nicht!!!
Da ich genau die TabPage anzeigen will die auch vor dem entfernen sichtbar war. Um die Sicherheit, daß die zu entfernende TabPage auch die gerade sichtbare ist, würde ich mich dann schon kümmern.
Lösungsversuche:
Da die "SelectedIndex" Eigenschaft nicht als virtual deklariert ist, ist die Überschreibung nicht möglich.
Eine Idee die mich lange Zeit (unnötig) gekostet hat, war:
Eine Klasse von TabPageCollection abzuleiten und diese dann zum deklarieren der "TabPages" Eigenschaft der "TabControl" Klasse zu verwenden. Dabei hab ich versucht die "Remove" bzw. "RemoveTabPage" Eigenschaft zu überschreiben. Wie gesagt leider ohne Erfolg, da nötige parameter als internal deklariert sind und mir der Zugriff verweigert wurde!
Würde mich über einen Lösungsansatz freuen!
Danke für Eure Zeit!
Martin
Comment