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 :

Question sur 'Handles'


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut Question sur 'Handles'
    Bonjour,

    Je ne comprend pas trop pourquoi je ne peux pas faire ça:
    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
     
    Public Class DraggablePanel
        Inherits Windows.Forms.UserControl
     
        Public WithEvents DockProperty As DockProperty
     
        'Mouse_Down
        Public Sub Grip_Down(ByVal sender As Object, ByVal e As Windows.Forms.MouseEventArgs) Handles DockProperty.Grip.MouseDown '<-- Ecriture fausse..
     
        End Sub
     
    End Class
     
    Public Class DockProperty
     
        Public WithEvents Area As Windows.Forms.Panel
        Public WithEvents Grip As Windows.Forms.Panel
        Public WithEvents Component As Windows.Forms.Panel
     
    End Class
    Ca me marque:
    Dans les classes, 'Handles' doit spécifier une variable 'WithEvents', ou 'MyBase', 'MyClass' ou 'Me' par un identificateur unique.
    Je ne pense pouvoir mettre plus de 'WithEvents'...

    Merci de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 196
    Par défaut
    C'est quoi un dockproperty?

  3. #3
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Citation Envoyé par BenoitM Voir le message
    C'est quoi un dockproperty?
    C'est à moi C'est la dernière classe du code.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 196
    Par défaut
    Ah oui pas vu


    Je pense que tu dois faire dans le formload AddHandler DockProperty.Grip.MouseDown.Event1, AddressOf Me.Grip_Down

  5. #5
    Membre émérite Avatar de -N4w4k-
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2011
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2011
    Messages : 545
    Par défaut
    Oui ça ça marche, mais pourquoi est ce que je ne peux pas directement le mettre dans la déclaration de la méthode?

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par -N4w4k- Voir le message
    Oui ça ça marche, mais pourquoi est ce que je ne peux pas directement le mettre dans la déclaration de la méthode?
    Par ce que l'évènement est pas directement sur l'objet DockProperty, il est sur une propriété de DockProperty. Ce cas n'est pas supporté par le langage

    De toutes façons je déconseille fortement l'utilisation de la clause Handles ; avec ce truc, est-ce que tu es capable de dire à quel moment le handler est ajouté à l'évènement ? Et qu'est-ce qui se passe si du code externe change la valeur de DockProperty (vu que tu l'as déclaré Public) ? Est-ce que la méthode va gérer l'évènement sur le nouvel objet ou l'ancien ? Au moins quand tu fais ça manuellement avec AddHandler, il n'y a aucune ambiguïté...

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

Discussions similaires

  1. Question sur le handle
    Par SteelBox dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/08/2003, 17h07
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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