Je voudrais afficher un ToolTip
pour le passage de la souris sur un contrôle.
Comment créer une infobulle dans le code, mais aussi dans le designer ?
Je voudrais afficher un ToolTip
pour le passage de la souris sur un contrôle.
Comment créer une infobulle dans le code, mais aussi dans le designer ?
Ici est votre article pour le faire avec le code
private void Form1_Load(object sender, System.EventArgs e)
{
// Create the ToolTip and associate with the Form container.
ToolTip toolTip1 = new ToolTip();
// Set up the delays for the ToolTip.
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
// Force the ToolTip text to be displayed whether or not the form is active.
toolTip1.ShowAlways = true;
// Set up the ToolTip text for the Button and Checkbox.
toolTip1.SetToolTip(this.button1, "My button1");
toolTip1.SetToolTip(this.checkBox1, "My checkBox1");
}
Donc je suppose que ça n'a pas d'importance si le toolTip1
la variable sort du champ d'application ?
Eh bien, ça compte. Il est préférable de le rendre membre de la classe, si vous voulez le gérer à partir d'une autre fonction
Faites glisser un contrôle d'infobulle de la boîte à outils sur votre formulaire. Vous n'avez pas vraiment besoin de lui donner d'autres propriétés qu'un nom. Ensuite, dans les propriétés du contrôle sur lequel vous souhaitez avoir une infobulle, recherchez une nouvelle propriété portant le nom du contrôle d'infobulle que vous venez d'ajouter. Par défaut, il vous donnera une info-bulle lorsque le curseur survolera le contrôle.
Assurez-vous que lorsque vous faites cela (comme à 2 heures du matin), vous utilisez un contrôle ToolTip et non un contrôle ToolStrip.
Avec cette réponse, l'ajout d'une seule infobulle au winform donne à tous les contrôles du formulaire leur propre infobulle.
Puissant dans sa simplicité, assurez-vous simplement de le déposer sur la bonne commande et non sur celle d'à côté (comme à 2 heures du matin).
L'astuce ici est que le contrôle ToolTip est une contrôle de l'extension ce qui signifie qu'il étendra l'ensemble des propriétés de l'option autres contrôles sur le formulaire. En coulisses, cela se fait en générant du code comme dans la réponse de Svetlozar. Il existe d'autres contrôles fonctionnant de la même manière (tels que les contrôles de type HelpProvider
).
Vous pouvez donc utiliser le même ToolTip pour plusieurs contrôles avec des textes différents ?
Peut-on l'utiliser également pour les contrôles d'utilisateur et les formulaires ? Par exemple, si vous créez un ToolTip statique avec vos valeurs de propriété standard. Ou bien cela serait-il considéré comme une mauvaise pratique ?
Le ToolTip en C# est très facile à ajouter à presque tous les contrôles de l'interface utilisateur. Vous n'avez pas besoin d'ajouter un événement MouseHover pour cela.
C'est comme ça qu'il faut faire.
Ajoutez un objet ToolTip à votre formulaire. Un seul objet suffit pour l'ensemble du formulaire. ToolTip toolTip = new ToolTip();
Ajoutez le contrôle à l'infobulle avec le texte souhaité.
toolTip.SetToolTip(Button1,"Click here");
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Duplicata possible de Affichage d'une info-bulle au passage de la souris sur un texte
0 votes
Relié, et plus ancien encore (s'applique à .NET en général) : stackoverflow.com/questions/168550/