IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

intercepter l'event .click d'un context menu item


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut intercepter l'event .click d'un context menu item
    Bonjour,

    après plusieurs heure de tentatives infructueuses, je m'en remets aux experts:
    J'essai de remplacer le menu contextuel par défaut qui s'affiche dans les winform lors d'un click droit sur une textbox. j'y parviens avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Public Class Form1
     
    Public oItem1 As MenuItem
     
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim MyCM As New ContextMenu
            TextBox1.ContextMenu = MyCM
            oItem1 = MyCM.MenuItems.Add("item1")
            MyCM.MenuItems.Add("item2")
    End Sub
     
    End Class
    au lancement de mon application j'ai donc la textbox1, et quand je click droit dessus, un menu avec "item1" et "item2" comme choix. Mais je n'arrive pas a intercepter l'événement .click sur les items. J'ai essayé plein de code de forums etc, il me manque toujours quelque chose. J'ai essayé ceci mais l'événement .click n'est apparement pas un system.eventArs, j'en ai essayé bien d'autre, sans succès.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Clicked(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles oItem1.Click
     
    MsgBox("Clicked1")
     
    End Sub
    une idée?

    Merci,
    Zebrette

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut
    j'ai trouvé, le code total donne ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Public Class Form1
     
        'declare les menu items avec des "protected events"
        'aucune idée de ce que ca veut vraiment dire
        Protected WithEvents menuItem0 As MenuItem
        Protected WithEvents menuItem1 As MenuItem
     
        ''' Initialisation du form
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'déclare le context menu
            Dim MyCM As New ContextMenu
            'remplace celui par défaut
            TextBox1.ContextMenu = MyCM
     
            'créer les items
            menuItem0 = New MenuItem("Item0")
            menuItem1 = New MenuItem("Item1")
     
            'ajoute les items au contextmenu
            MyCM.MenuItems.Add(menuItem0)
            MyCM.MenuItems.Add(menuItem1)
     
        End Sub
     
        '''Les deux subs correspondants aux protected withevents
        Private Sub Clicked0(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuItem0.Click
            MsgBox("Clicked-item0")
        End Sub
     
        Private Sub Clicked1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuItem1.Click
            MsgBox("Clicked-item1")
        End Sub
     
    End Class
    c'est en fait la déclaration des deux "protected WithEvents" qu'il manquait...
    Problème résolu après environ 6h de forums je dirais, en espérant que d'autres y passent moins de temps.

    inspiré de la source: http://forums.asp.net/t/977316.aspx

    Zebrette

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 5
    Par défaut Bonjour à tous
    Merci zebrette pour le partage de l'information,
    ca m'a bien aider moi aussi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Rajouter une liste d'options lors du click droit. (Context Menu)
    Par takinelinfo dans le forum Windows XP
    Réponses: 5
    Dernier message: 03/12/2012, 12h43
  2. l'event click dans un Select One Menu
    Par yous18 dans le forum JSF
    Réponses: 4
    Dernier message: 16/05/2012, 10h14
  3. Intercepter un event non géré par un on(dbl)click sur une ancre
    Par Invité dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/06/2010, 20h42
  4. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  5. Context Menu - ( Code de P. Castelain )
    Par Cameleon45 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 06/03/2003, 22h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo