Tooltip sur un contrôle utilisateur [Résolu]

crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention - 20 juil. 2007 à 16:14 - Dernière réponse : crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention
- 2 août 2007 à 10:22
Bonjour, je souhaiterai placer un tooltip sur un usercontrol de type Button. 
Le code implémenté est situé ci dessous.
Mon problème est que l'infobulle n'apparaît jamais sur mon bouton.
Pourtant dans le code je place bien sur mon boutonOK:
this.buttonOK.ToolTip =
"test d'info bulle"; 

J'ai bien vérifié que le this.buttonOK.enable = true.

Je ne comprends pas où ça pêche... Si vous avez une idée je vous en remercie d'avance.

Voici le code implémenté :

using

System;
using

System.Collections.Generic;
using

System.ComponentModel;
using

System.Drawing;
using

System.Data;
using

System.Text;
using

System.Windows.Forms; 

namespace

Gso.Siati.WinApp.UserControls{

//public partial class SButton : UserControl

public
partial
class
SButton :
Button{

private
IContainer components;

private
ToolTip toolTip1;

private
Button button1;

public SButton(){

InitializeComponent();

}

public
string ToolTip{

get{

return
this.toolTip1.GetToolTip(
this.button1);}

set{

this.toolTip1.SetToolTip(
this.button1,
value);}

}

private
void SButton_Load(
object sender,
EventArgs e){

}

private
void button1_Click(
object sender,
EventArgs e){

}

private
void InitializeComponent(){

this.components =
new System.ComponentModel.
Container();

this.button1 =
new System.Windows.Forms.
Button();

this.toolTip1 =
new System.Windows.Forms.
ToolTip(
this.components);

this.SuspendLayout();

//

// button1

//

this.button1.AutoEllipsis =
true;

this.button1.Location =
new System.Drawing.
Point(0, 0);

this.button1.MaximumSize =
new System.Drawing.
Size(96, 32);

this.button1.MinimumSize =
new System.Drawing.
Size(96, 32);

this.button1.Name =
"button1";

this.button1.Size =
new System.Drawing.
Size(96, 32);

this.button1.TabIndex = 0;

this.button1.Text =
"button1";

this.button1.UseVisualStyleBackColor =
true;

this.button1.Click +=
new System.
EventHandler(
this.button1_Click_1);

//

// toolTip1

//

this.toolTip1.IsBalloon =
true;

this.toolTip1.OwnerDraw =
true;

this.toolTip1.ShowAlways =
true;

//

// SButton

//

this.Size =
new System.Drawing.
Size(96, 32);

this.ResumeLayout(
false);}

}

}
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_Yxion 219 Messages postés jeudi 6 juillet 2006Date d'inscription 7 septembre 2009 Dernière intervention - 23 juil. 2007 à 16:09
3
Merci
Voila un exemple complet :

Créer une nouvelle classe du nom de ton bouton avancée (ici MonBouton.... original non?)

public
class
MonBouton :
Button{

private
ToolTip _toolTip
=
new
ToolTip();

private
string _toolTipText;

public
string ToolTipText{

get {
return
this._toolTip
.GetToolTip(
this); }

set {
this._toolTip
.SetToolTip(
this,
value); }}

}

Ensuite... compile... ensuite passe en mode design sur ta form, et tu pourras inserer ce nouveau bouton qui apparaitra dans ta boite à outil, ensuite tu pourras belle et bien changer le texte de ton tooltip comme tu veux, quand tu veux comme cela :

this.

monBouton1
.ToolTipText
=
"button1_Click_1";
Et ca, ca marche.... testé par moi meme....

<hr />
I love .net

Merci cs_Yxion 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_Yxion
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 20 juil. 2007 à 16:53
0
Merci
Salut,
J'ai pas regardé ton code, mais normalement tu peux faire tout ça avec le designer si tu dois pas le créer dynamiquement (et que t'es un peu une feignasse comme moi )

<hr />
-Blog-
Commenter la réponse de cs_Bidou
cs_Yxion 219 Messages postés jeudi 6 juillet 2006Date d'inscription 7 septembre 2009 Dernière intervention - 20 juil. 2007 à 17:01
0
Merci
ToolTip



toolTip1

=
new 
System

.
Windows

.
Forms

.
ToolTip
();
toolTip1

.
SetToolTip(

this.button1
,

"bzzzzzzzzzz"
);
Commenter la réponse de cs_Yxion
crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention - 20 juil. 2007 à 17:04
0
Merci
Salut et merci de ta réponse.

J'ai bien utilisé le designer pour réaliser ce contrôle utilisateur bouton avec un tooltip par dessus. Mais comme je l'ai écrit plus haut le tooltip n'apparaît pas sur le contrôle utilisateur bouton même lorsque que je renseigne graphiquement la propriété Tooltip avec mon texte infobulle.

Je ne sais pas comment le faire fonctionner.
Si quelqu'un a une idée ou un exemple concret de controle utilisateur bouton avec tooltip qui est valide je suis preneur.

Cordialement.
Commenter la réponse de crazychris64
crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention - 20 juil. 2007 à 17:10
0
Merci
Salut, je te remercie de ta réponse.

J'ai déjà utilisé ce code comme tu peux le constaté au dessus.
J'ai encapsulé le tout avec un accesseur et un modificateur.


public
string ToolTip
{

   get
   {

      return
this.toolTip1.GetToolTip(
this.button1);
   }

   set
   {

      this.toolTip1.SetToolTip(
this.button1,
value);
   }
}




Mon code me semble bon mais lorsque je renseigne le tooltip graphiquement ou directement dans le code (this.buttonClose.Tooltip = "coucou";) je n'obtient pas d'infobulle à l'arrivée lorsque je passe le curseur sur le bouton close.
Commenter la réponse de crazychris64
crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention - 23 juil. 2007 à 10:03
0
Merci
Bonjour à tous,

toujours pas d'idée pour résoudre mon pb?
Commenter la réponse de crazychris64
crazychris64 5 Messages postés mardi 10 août 2004Date d'inscription 2 août 2007 Dernière intervention - 2 août 2007 à 10:22
0
Merci
Salut,

Je te remercie de ta réponse. C'est exactement ce que j'avais fais mais j'ai du mal m'exprimer. Je voulais savoir s'il y avait la possibilité de créer un contrôle utilisateur (bouton + tooltip) qui une fois que tu l'insère en mode designer te permet de modifier sa propriété tooltiptext graphiquement sans insérer directement dans le code :
this.monBouton1
.ToolTipText
=
"button1_Click_1"

Personnellement je trouve que c'est plus propre quand toutes les infos du contrôle utilisateur sont dans la méthode initializeComponent().

Encore merci pour vos réponses et bonne continuation dans vos projets.
Commenter la réponse de crazychris64

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.