Ik heb een TreeView met Mode=OwnerDrawText waarvan ik de node-text dus zelf teken. Het idee is de tekst te kleuren. Gaat allemaal prima, tot het moment dat ik een node selecteer. De kleur van het font moet dan SystemColors.HighlightText worden. Zo gezegd zo gedaan, ik bouw die check in in de DrawNode handler, en iedereen is blij.
Maar toen kwam het moment dat iemand met de muis (ipv toetsenbord) een node selecteerde. Terwijl je nml de muis ingedrukt houdt op een node, ziet ie eruit als selected, maar e.State in de DrawNode handler is niet selected. Hetzelfde geldt voor de node die voorheen geselecteerd was, e.State uit de DrawNode handler is Selected, maar de node is helemaal niet meer geselecteerd.
En toen de muisknop losgelaten werd, was alles weer goed.
Ohja, dit hoort er altijd bij he
Bug in het framework? Bug ergens anders?
Maar toen kwam het moment dat iemand met de muis (ipv toetsenbord) een node selecteerde. Terwijl je nml de muis ingedrukt houdt op een node, ziet ie eruit als selected, maar e.State in de DrawNode handler is niet selected. Hetzelfde geldt voor de node die voorheen geselecteerd was, e.State uit de DrawNode handler is Selected, maar de node is helemaal niet meer geselecteerd.
En toen de muisknop losgelaten werd, was alles weer goed.
Ohja, dit hoort er altijd bij he
C#:
1
2
3
4
5
6
7
8
| private void treeView_DrawNode(object sender, DrawTreeNodeEventArgs e) { if ((e.State & TreeNodeStates.Selected) == TreeNodeStates.Selected) { //Tekenen met HighlightText } else { //Tekenen met kleurtjes } } |
Bug in het framework? Bug ergens anders?
日本!🎌