none
Comment passer un paramètre "e" entre 2 classes différentes ? RRS feed

  • Question

  • Bonjour,

    Dans ma listbox1 je voudrais en activant aussi le mous_double_clique_gauche appeler le menu popup menuContextStrip1, comme si je cliquais droit, mais ça ne marche pas, et je ne sais comment faire, voici :

     Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
      MsgBox("double-clique = ok")
      Call ContextMenuStrip1_Opening(sender, e)
      ' MARCHE PAS CAR e = System.Windows.Forms.MouseEventArgs
      ' alors que dans ContextMenuStrip c'est System.ComponentModel.CancelEventArgs
      'FAUDRAIT expliquer à "e" que je veux appeler le menu popup contextMenuStrip par double-clique ???
     End Sub
    
     Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
      ' doit lancer le menu popUp
     End Sub
    
    

    Merci, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    vendredi 21 janvier 2011 12:26

Réponses

Toutes les réponses

  • Bonjour Joe,

    Ne peux-tu pas faire ceci :

    Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
    ContextMenuStrip1.Show(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
    ContextMenuStrip1.Visible = True
    End Sub

    Si cela ne fonctionne pas, tu peux peut-être t'intéresser à ces 2 threads :

    http://social.msdn.microsoft.com/forums/en-US/winforms/thread/8de03b21-e144-4614-96cd-d382c2a2fbe9/

    http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/da1b1d5a-0741-4a50-94fd-4781d199a4ba

    Cordialement,

    Thomas


    Thomas Aimonetti - C# - Sharplog Engineering - http://www.sharplog.fr
    • Marqué comme réponse EhJoe samedi 22 janvier 2011 12:21
    vendredi 21 janvier 2011 13:30
  • Bonjour,

    C'est exactement ce que je voulais dire mais Thomas ma devancé :), pour moi ça fonctionne tres bien je n'ai pas de problème

      Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
        Me.ContextMenuStrip1.Show(New System.Drawing.Point(Cursor.Position.X, Cursor.Position.Y))
      End Sub
    


    Cordialement, Troxsa
    vendredi 21 janvier 2011 13:49
    Auteur de réponse
  • Bonjour Thomas,

    De retour sur VB depuis un certain temps ? Magnifique !

     Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick
      ContextMenuStrip1.Show(Windows.Forms.Cursor.Position.X, Windows.Forms.Cursor.Position.Y)
      ContextMenuStrip1.Visible = True
    End Sub
    
    

    Ça marche du tonnerre mais je ne savais pas qu'on pouvait faire ça ni que les commandes le permettaient, en fait une grande partie des réponses sont issus de l'anglais, or, commeje ne lis pas l'anglais assez bien, ben je suis obligé de me cantonner au français qui est bien plus pauvre en documentation.

    Cordialement



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    • Marqué comme réponse EhJoe samedi 22 janvier 2011 12:21
    samedi 22 janvier 2011 09:10
  • Bonjour Xavier,

    Merci, seule l'intention compte dit-on ... one point ...

    Ben alors tu as droit à une question de rattrapage :

    Comment inhiber le click droit de l'apparition du menu (prévu ainsi d'origine) sur listbox1_mouse_CLICK(DROIT) ?

    Car de facto désormais j'ai le clique droit et le double clique gauche qui montrent le menu surgissant, ah ...

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    samedi 22 janvier 2011 09:20
  • Bonjour EhJoe

    Il suffit de retiré le ContextMenuStrip de la propriété Listbox cela n’empêchera pas l’apparition du ContextMenuStrip lors du double clique :)

     

    A bientot


    Cordialement, Troxsa
    • Marqué comme réponse EhJoe samedi 22 janvier 2011 12:21
    samedi 22 janvier 2011 11:26
    Auteur de réponse
  • Bonjour Xavier,

    Ah ouais, en effet, merci :o)

    Cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    • Marqué comme réponse EhJoe samedi 22 janvier 2011 12:23
    samedi 22 janvier 2011 12:22