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

Windows Forms Discussion :

Récupérer une classe reliée à un Handler


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut Récupérer une classe reliée à un Handler
    Bonjour tout le monde,

    Je voudrais récupérer une classe reliée à un Handler dans la méthode du Handler.
    Pour information, j'utilise directx dans mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    myVideo[j].Ending += new EventHandler(myVideo_Ending);
     
    private void myVideo_Ending(object sender, System.EventArgs e)
    {
         //Mon problème c'est qu'ici je ne sais pas quoi mettre pour récupérer
         myVideo[j] ?
    }

    En vous remerciant, j'espère trouver la bonne réponse

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 140
    Points
    140
    Par défaut
    Bonjour,

    La réponse est toute simple, c'est ton objet sender.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    J'ai essayé mais le problème c'est que c'est un obj et même quand je le caste avec (Video)sender ou (Microsoft.DirectX.AudioVideoPlayback.Video)sender, ça ne marche pas.

    En fait ce que j'utilise dans mon code c'est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (Video)sender.Size = new System.Drawing.Size(x,y)
    sachant que Size fait partie de la classe Video.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    Ah c'est bon j'ai rajouté des parenthèses et ça marche !! Merci pour la réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ((Microsoft.DirectX.AudioVideoPlayback.Video)sender).Size = new System.Drawing.Size(x,y);

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    Maintenant j'ai un autre problème, c'est que j'ai envie de rajouter un objet supplémentaire (objetSupp) dans un évènement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void actionEvent(object objetSupp, object sender, EventArgs e)
    {
           //actions...
     
    }

    Comment je peux faire ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2008
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 114
    Points : 140
    Points
    140
    Par défaut
    Et ben soit c'est un évènement maison, et tu n'as qu'à modifier ton delegate, soit c'est un évènement sur lequel tu n'as aucun controle et alors la... je ne pense pas que ce soit possible.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    En fait j'ai un timer (clock1) qui lorsqu'il finit son comptage appelle un évènement (resizeEvent), c'est dans cet évènement que je veut récupérer le Panel p mais je ne sais pas comment faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public void resizeDisplayTimer(Panel p)
    {
                Clock1.Start();
                Clock1.Tick += new EventHandler(resizeEvent);
    }
     
    public void resizeEvent(object sender, EventArgs e)
    {
                p.Size = new System.Drawing.Size(x,y); //besoin de p pour le faire
    }

    Une idée ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    En utilisant une closure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void resizeDisplayTimer(Panel p)
    {
                Clock1.Start();
                Clock1.Tick += delegate (object sender, EventArgs e)
                                     {
                                          p.Size = new System.Drawing.Size(x,y); //besoin de p pour le faire
                                     }
    }

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 311
    Points : 337
    Points
    337
    Par défaut
    Ou bien en utilisant une lambda :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void resizeDisplayTimer(Panel p)
    {
                Clock1.Start();
                Clock1.Tick += (sender, e) => p.Size = new System.Drawing.Size(x,y);
    }

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    Merci infiniment ! Je vais tester ça !

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 34
    Points : 6
    Points
    6
    Par défaut
    C'est bon ça marche ! Merci

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

Discussions similaires

  1. Récupérer une classe retournée par un exe
    Par infodaoudi dans le forum C++/CLI
    Réponses: 5
    Dernier message: 04/04/2012, 15h34
  2. récupérer une classe supprimée
    Par kaisser dans le forum Général Java
    Réponses: 2
    Dernier message: 06/09/2010, 13h21
  3. Récupérer une Class générique
    Par Deaf dans le forum Langage
    Réponses: 30
    Dernier message: 30/07/2010, 14h18
  4. Récupérer une Class à partir d'un Role
    Par zuzuu dans le forum VBScript
    Réponses: 2
    Dernier message: 09/07/2010, 13h03
  5. [Reflexion] Comment récupérer une class via son chemin python
    Par anthyme dans le forum Général Python
    Réponses: 2
    Dernier message: 27/12/2007, 13h16

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