none
Problème de TooTip dans ToolStripMenu ? RRS feed

  • Question

  • Bonjour,

     

    Je n'arrive pas à afficher d'info bulle (toolTip) dans un menu d'entête (toolStripMenu), ça se présente comme suit :

    J'ai un menu <menuStrip>, dans lequel j'ai mis un sous-menu <toolStripMenuItem1> "sans texte", il ne contient qu'une image.

    J'ai aussi ajouté un objet ToolTip1 sur la form.

    Dans les propriété du sous-menu <toolStripMenuItem1> j'ai mis à <ToolTypTexte> le texte que je voulais dans la bulle, ensuite j'ai essayé la propriété <AutoToolType> (je ne sais pas ce que c'est), j'ai mis sur True, sur False, bref, rien n'y fait, je n'ai pas ma bulle !

    Précisons qu'habituellement dans un objet on a la propriété <toolTyp sur ToolTyp1>, or là je n'ai rien, ne pouvant de facto lui associer à cette propriété l'objet <ToolTyp1>, ah...

    Précisons encore que me demandant si ça venait pas de l'absence de texte, j'ai essayé avec du texte à côté de mon image, mais ça ne change rien.

    Je peux essayer de gérer avec la souris sur zone, et afficher "si sur zone" la bulle directement dans le code, si encore ça marche, mais j'aimerais mieux que ça fonctionne normalement...

     

    Donc je n'ai pas ma bulle quand je passe sur l'image, unique contenu de mon sous-menu...

     

    Auriez-vous une idée ?

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire

    • Modifié EhJoe vendredi 16 septembre 2011 08:28 Addendum
    vendredi 16 septembre 2011 08:24

Réponses

  • Bonjour,

    Voici la réponse qui semble avoir fonctionné :

    Le ToolStripMENUItem n'accepte pas les tooltips sur lui-même, mais les ToolStripItems l'acceptent. C'est très mal fait visiblement et la solution, si elle est convenable, est de remplacer le menuitem par un toolstrip car là, la bulle apparaît correctement.


    Bonne journée.


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards. Contact
    • Marqué comme réponse EhJoe dimanche 18 septembre 2011 14:48
    dimanche 18 septembre 2011 14:42

Toutes les réponses

  • Bonjour Joe,

    On n'utilise pas assez la touche F1

    http://msdn.microsoft.com/fr-fr/library/ecft989x.aspx

    Voici un exemple:

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            ' Create the ToolTip and associate with the Form container.
            Dim toolTip1 As 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(Me.Button1, "My button1")
            toolTip1.SetToolTip(Me.checkBox1, "My checkBox1")
        End Sub
    



    fred
    vendredi 16 septembre 2011 17:37
  • Bonjour Fred,

     

    Merci, mais... ce que je cherchais c'est pourquoi je n'avais pas ce que j'avais pour les autres objets...

     

    Je viens de tester ton exemple, il ne marche pas ?

     

     Dim toolTip1 As New ToolTip()
        toolTip1.AutoPopDelay = 5000
        toolTip1.InitialDelay = 1000
        toolTip1.ReshowDelay = 500
        toolTip1.ShowAlways = True
        toolTip1.SetToolTip(ToolStripMenuItem1.ToolTipText, "Enrégistrer")
        toolTip1.SetToolTip(ToolStripMenuItem1, "Enrégistrer")
        ' impossible de convertir une valeur de type string en "system.windows.form.ToolStripMenuItem" en "system.windows.forms.control"
    

    ???

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire

    • Modifié EhJoe vendredi 16 septembre 2011 20:12 rajout 1
    vendredi 16 septembre 2011 19:50
  • Suite,

     

    Oh... y m'énerve, il refuse les bulles, il refuse les curseurs, je vais le dégager ce menu menuStrip et le remplacer par des objets, ça sera bien mieux :o)

     

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    vendredi 16 septembre 2011 20:19
  • Bonjour,

    Pour les ToolStrip, il existe déjà une propriété ToolStripItem pour spécifier un infobulle. Il n'est pas nécessaire d'utiliser le composant ToolTip.

    (cf. http://msdn.microsoft.com/fr-fr/library/system.windows.forms.toolstripitem.tooltiptext(v=VS.80).aspx)

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    samedi 17 septembre 2011 08:47
    Modérateur
  • Bonjour Joe,

    As-tu réussi avec les conseils de Gilles?

    sinon, ajoute un toolstrip dans ta form

    ensuite dans le ToolStrip, ajoute un ToolStripButton1

    Ajoute également un ToolStripDropDownButton1

    dans ce dernier ajoute un menu1

    puis le code suivant:

      Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStripButton1.ToolTipText = "enregistrer"
        Menu1ToolStripMenuItem.ToolTipText = "enregistrer"
    
      End Sub
    

    Est-ce que cela résout ton problème?


    fred
    samedi 17 septembre 2011 16:33
  • Bonjour Gilles,

     

    J'ai bien une propriété TooTipText de l'entrée ToolStripMenuItem1 du menuStrip1 mais la bulle n'affiche pas le texte saisit !

    Peut être faut-il faire d'autre manipulations ?

     

    J'ai aussi fait ceci dans le load, sans résultat :

    ToolStripMenuItem1.ToolTipText = " Enrégistrer "
    

     

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire

    • Modifié EhJoe samedi 17 septembre 2011 19:48 1 rajout
    samedi 17 septembre 2011 19:45
  • Bonjour Fred,

    Non, la bulle (de Gille) ne marche pas...

    C'est "menu" "combo" et "textbox" qu'on peut rajouter dans un menuStrip, je ne vois pas comment lui mettre un bouton (ce sont des entres de menu (item))...

    ???

    Ceci ne fonctionne pas mieux :

    ToolTip1.SetToolTip(ToolStripMenuItem1.ToolTipText, "Enrégistrer")
    ' ->ToolStripMenuItem1.ToolTipText<-
    ' impossible de convertir une valeur de type string en 
    ' system.windows.forms.control
    

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire

    • Modifié EhJoe dimanche 18 septembre 2011 07:20 1 rajout
    samedi 17 septembre 2011 19:53
  • Bonsoir Joseph,

    On peut avoir le projet complet ?

    Chez moi ToolStripMenuItem1.ToolTipText = " Enrégistrer " fonctionne bien...

    La bulle doit bien s'afficher au passage de la souris ?

     


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards. Contact
    • Modifié Michel K samedi 17 septembre 2011 21:10
    samedi 17 septembre 2011 21:10
  • Bonjour,

    Voici la réponse qui semble avoir fonctionné :

    Le ToolStripMENUItem n'accepte pas les tooltips sur lui-même, mais les ToolStripItems l'acceptent. C'est très mal fait visiblement et la solution, si elle est convenable, est de remplacer le menuitem par un toolstrip car là, la bulle apparaît correctement.


    Bonne journée.


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement - Best Regards. Contact
    • Marqué comme réponse EhJoe dimanche 18 septembre 2011 14:48
    dimanche 18 septembre 2011 14:42
  • Bonjour Joe,

    Tiens une petite vidéo si tu n'as pas déjà résolu ton problème.

    http://www.youtube.com/user/fredCSharper#p/a/u/0/MJK4pW_al98

     


    fred
    dimanche 18 septembre 2011 16:02
  • Bonjour Fred,

     

    A part le curseur hand j'arrive à tout faire, je comprends lentement, c'est du nouveau, pour une fois ce n'est pas mal, les objets manquent un peu d'effet 3d mais bon, on va faire avec.

     

    Merci.

     

     



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    dimanche 18 septembre 2011 16:41
  • Bonjour,

    N'hésite pas à demander car moi aussi j'ai assez galéré en passant de VB6 à VB.Net.


    fred
    lundi 19 septembre 2011 11:59