J'ai besoin d'appliquer la mise en forme - en particulier, du texte en gras - à l'info-bulle utilisée par un DataGridView en mode virtuel. Je peux définir le texte dans l'événement CellToolTipTextNeeded, mais il ne prend pas en charge les balises HTML; Y a-t-il une autre syntaxe que je devrais utiliser? Je ne veux pas avoir à réimplémenter le support d'info-bulle moi-même.Comment formater l'info-bulle utilisée par un DataGridView en mode virtuel?
0
A
Répondre
3
Vous pouvez utiliser le HtmlToolTip de http://www.codeproject.com/KB/GDI-plus/HtmlRenderer.aspx
To use it with DataGridView create a ToolTip (HtmlToolTip) and add this after the InitalizeComponent() in your form to replace the default tooltip:
System.Reflection.FieldInfo toolTipControlFieldInfo=
typeof(DataGridView).GetField("toolTipControl", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
System.Reflection.FieldInfo toolTipFieldInfo=
toolTipControlFieldInfo.FieldType.GetField("toolTip", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
object toolTipControlInstance =
toolTipControlFieldInfo.GetValue(myDataGridView);
toolTipFieldInfo.SetValue(toolTipControlInstance, myToolTip);
travail pour moi avec .net 3.5
1
Comme l'indique le nom de l'événement, il veut simplement afficher le texte, qui n'aura pas de format.
Si vous voulez quelque chose comme le gras, ou d'autres types de formatage, vous allez devoir gérer vous-même l'affichage et le dessin de la pointe de l'outil. Vous pouvez utiliser le contrôle ToolTip pour aider, définissant la propriété OwnerDraw sur true et gérant l'événement Draw, mais notez que vous devrez probablement surcharger la grille de manière significative pour entrer dans cet événement au moment approprié.
Questions connexes
- 1. comment modifier par programme la valeur de cellule d'un datagridview en mode virtuel?
- 2. Datagridview modèle virtuel combobox
- 3. Comment modifier la position de ligne du mode virtuel DataGridView?
- 4. Comment peupler un ListView en mode virtuel de manière asynchrone?
- 5. C# - Comment peupler un .net DataGridView par programme?
- 6. Puis-je créer un disque virtuel en mémoire par programmation?
- 7. Comment placer un formulaire en mode demandé par l'aide?
- 8. En utilisant Emacs, comment mettre en retrait/formater un segment de code dans un fichier TXT?
- 9. Comment formater un nombre décimal en un nombre de décimales contrôlé par programme dans C#?
- 10. Comment formater les en-têtes sur un Datagrid WPF?
- 11. Comment formater un int comme devise en C#?
- 12. Que signifie exécuter un système d'exploitation virtuel en "mode sans tête"?
- 13. C#: Comment filtrer efficacement (cacher) les éléments ListView en mode virtuel?
- 14. Comment ne dessinez-vous que certains éléments ListView en mode virtuel?
- 15. Comment formater un résultat ASP.NET MVC Json?
- 16. Comment formater une partie de DateTime en un chiffre?
- 17. MSMQ sur un contrôleur de domaine par défaut en mode groupe de travail, comment passer en mode Domaine?
- 18. Tri DataGridView par programme
- 19. Comment trouver la mémoire utilisée par un objet en PHP? (sizeof)
- 20. Obtenir l'icône de fichier utilisée par Shell
- 21. Comment formater des dates en Perl?
- 22. Comment formater une date javascript pour être sérialisé par jQuery
- 23. Comment formater des nombres en JavaScript?
- 24. Comment utiliser NSDateFormatter pour formater un NSString?
- 25. DataGridView enfant dans un DataGridView
- 26. Comment formater une chaîne de HTML par programme
- 27. Comment créer un répertoire virtuel en utilisant MSBuild Script?
- 28. Comment formater un nombre avec des virgules?
- 29. Personnalisation de DataGridView par utilisateur
- 30. Comment puis-je changer la connexion utilisée par Castle ActiveRecord