Bonjour Phil Rob
J'utilise le VirtualMode car mon DGV contient quelques dizaines de milliers de lignes, et quand il y a beaucoup de données, ça va quand même beaucoup plus vite, y compris au chargement de l'écran contenant le DGV.
Donc tes réponses m'ont fait bien réfléchir:
- En effet dans le CellValueNeeded on peut bien affecter une valeur au ToolTipText, mais pas la valeur nothing
- L'événement CellValueChanged n'est pas activé quand on affecte ce qu'il faut afficher via le CellValueNeeded
- Le problème c'est que mon DGV n'est pas fait pour modifier les données qu'il contient, c'est un "tableau d'affichage" qui me sert à dessiner des logigrammes comme ci-dessous
Seules les zones grises peuvent évoluer, et encore ce n'est pas par une mise à jour manuelle par l'utilisateur, c'est le programme qui rafraîchit le contenu.
- Les toolTiptext que j'utilise c'est pour donner des infos supplémentaires sur les cellules qui contiennent des choses comme S7, M800, R391, les autres cellules c'est du texte ou j'utilise des codes @, @@, @@@... pour indiquer au code que quand on fait le CellPaint, il faut mettre des mises en formes particulières du genre texte gras sur plusieurs lignes, Texte centré sur plusieurs colonnes...
- Alors du coup, je me suis dit "Pas bête le gars, je vais essayer de coller ça dans un autre événement de la cellule où la donnée est déjà là". J'ai essayé le CellMouseEnter, CellPaint: Si je mets "blabla" dans le ToolTipText, ça marche, si je mets nothing dans le tooltipText, ça ne marche pas.
- Le pire c'est que quand ma souris passe au dessus d'une cellule qui ne contient qu'un nombre je n'ai pas d'aide qui s'affiche alors que dans mon code dans le CellToolTipTextNeeded c'est géré comme les cellules avec des @: Je ne renvois rien parce que toutes mes boucles de test ne matchent pas. Et ben y en a où il réussit à ne rien afficher et d'autres non...
Je crois que je ne vais pas user le soleil la-dessus, je vais mettre 1 espace dans la chaîne affectée au ToolTipText, ça fait juste un petit carré jaune, c'est moins pire.
C'est dommage qu'on ne puisse pas faire le e.handled comme dans certains événements pour les annuler.
Merci pour le coup de main Phil Rob.
Partager