Comment puis-je afficher une infobulle au-dessus d'un bouton en utilisant Winforms ?
Réponses
Trop de publicités?Le ToolTip est en fait un contrôle WinForms qui permet d'afficher des info-bulles pour plusieurs éléments sur un seul formulaire.
Disons que votre bouton s'appelle MonBouton.
- Ajouter un contrôle ToolTip (sous Common Common Controls dans la boîte à outils Windows Forms ) à votre formulaire.
- Donnez-lui un nom - par exemple, MyToolTip
- Définissez la propriété "Tooltip on MyToolTip" de MonBouton (sous Misc dans la grille de propriétés des boutons) sur le texte qui doit apparaître lorsque vous le survolez. la grille de propriétés du bouton) au texte qui doit apparaître lorsque vous le survolez.
L'info-bulle s'affiche automatiquement lorsque le curseur survole le bouton, mais si vous devez l'afficher de manière programmatique, appelez la commande
MyToolTip.Show("Tooltip text goes here", MyButton)
dans votre code pour afficher l'info-bulle, et MyToolTip.Hide(MyButton) pour la faire disparaître à nouveau.
En utilisant le concepteur de formulaires :
- Faites glisser le contrôle ToolTip de la boîte à outils sur le formulaire.
- Sélectionnez les propriétés du contrôle sur lequel vous voulez que l'info-bulle apparaisse.
- Trouvez la propriété 'ToolTip on toolTip1' (le nom peut ne pas être toolTip1 si vous avez changé son nom par défaut).
- Définissez le texte de la propriété comme étant le texte de l'info-bulle que vous souhaitez afficher.
Vous pouvez également définir l'info-bulle par programme en utilisant l'appel suivant :
this.toolTip1.SetToolTip(this.targetControl, "My Tool Tip");
Vous pouvez utiliser la classe ToolTip :
Création d'une info-bulle pour un contrôle
Exemple :
private void Form1_Load(object sender, System.EventArgs e)
{
System.Windows.Forms.ToolTip ToolTip1 = new System.Windows.Forms.ToolTip();
ToolTip1.SetToolTip(this.Button1, "Hello");
}
Le cadre .NET fournit une classe ToolTip. Ajoutez-en une à votre formulaire, puis, lors de l'événement MouseHover de chaque élément pour lequel vous souhaitez une info-bulle, faites quelque chose comme ce qui suit :
private void checkBox1_MouseHover(object sender, EventArgs e)
{
toolTip1.Show("text", checkBox1);
}
Bien sûr, il suffit de gérer l'événement mousehover et de lui demander d'afficher une info-bulle. t est un tooltip défini soit dans les globales, soit dans le constructeur en utilisant :
ToolTip t = new ToolTip();
puis le gestionnaire d'événements :
private void control_MouseHover(object sender, EventArgs e)
{
t.Show("Text", (Control)sender);
}