J'utilise l'événement CellToolTipTextNeeded
d'un DataGridView
, et l'info-bulle est affichée sous la souris. Je peux obtenir l'objet ToolTip
par réflexion, mais je n'ai aucun contrôle sur l'endroit où il est positionné puisque ce n'est pas moi qui appelle Show()
. Comment déplacer une info-bulle?Comment déplacer une info-bulle?
Répondre
Que diriez-vous d'un coutume?
Je pense que la réponse courte est: vous ne pouvez pas, pas encore de toute façon. Je penserais probablement à la construction d'un custom comme 'unknown (yahoo)' suggéré.
Vous devrez contrôler vous-même l'info-bulle à l'aide des méthodes Afficher et Masquer si vous souhaitez avoir un contrôle sur comment et où vous le positionnez à l'aide du framework 2.0, sauf si vous souhaitez entrer dans les API de Windows.
Malheureusement, il semble que la position de l'info-bulle soit définie très tôt dans sa création. L'info-bulle n'a que 3 événements à gérer, et nous ne sommes pas très intéressés par Dispose dans ce cas. L'événement Draw est déclenché après l'événement Popup et il semble que la position a déjà été définie comme la propriété Bounds dans PopupEventArgs est en lecture seule.
est ici un lien vers l'un des nombreux articles (au moment de ce post) sur la création d'un contrôle personnalisé: http://andrusdevelopment.blogspot.com/2007/10/implementing-custom-tooltip-in-c.html
et la documentation MSDN sur l'utilisation Show de l'info-bulle et Masquer les méthodes est en fait assez décent: http://msdn.microsoft.com/en-us/library/44atyhsa(VS.80,printer).aspx
Désolé, mais il ne semble pas y avoir une réponse rapide et facile à celui-ci. Espérons que quelqu'un me prouvera que les deux sont des sectes.
Scott
Il y a une bonne réponse à ce lien qui utilise un objet infobulle.