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

C# Discussion :

Event dans un activeX


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 5
    Par défaut Event dans un activeX
    Bonjour a tous,
    J'ai besoin de votre aide. Je débute sous C#
    J'ai créé un ActiveX en C# dans lequel je dois créer un evenement disons nommé TestEvent que je voudrais publier.
    Ensuite j'aimerais pouvoir déclencher cet evènement en dehors de l'activeX (dans l'application appelante)

    Pour être complet, mon activeX va ouvrir une form1, qui possède un bouton.
    Quand je click sur ce bouton, j'aimerais qu'un évènement se déclenche.
    Je voudrais aussi pouvoir controler de l'exterieur, ce qui se passe quand je click sur ce bouton (exterieur de l'activeX)
    Mais pour cela, je dois pouvoir publier l'evenement....

    Quelqu'un peu m'aider ?
    Merci d'avance

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    Salut

    1 - ActiveX n'existe pas en C#. ActiveX est une forme d'objet COM et donc, cela n'est plus le terme à employer en .Net pour un Control utilisateur

    2 - Pour créer un evenement, regardes du coté des Delegate et des Event
    (mots clés du langage, les exemples sont parlant d'eux même)

    3 - Pour l'appui sur le bouton qui déclenche un evenement, dans la mesure ou il s'agit du "B.A.B.A" de la programmation d'IHM, je ne peux que te conseiller la lecture d'un livre sur C# et les Winforms (voir un tuto). Tu verras et comprendras le fonctionnement et tu verras que c'est relativement simple à gérer

    4 - Pour le controle via l'exterieur, tu as 2 possibilités (qui finalement sont assez voisines)

    Soit tu crées un evenement public et tu t'y abonnes de l'extérieur
    Soit tu crées un delegate qui sera passé en argument ou via une méthode de ton control utilisateur et qui pourra faire le boulot adéquate

    (Dans le cas 2, c'est un peu comme si tu délocalisais la création de la fonction de traitement en dehors de ton Controle - d'ou Delegate )

    > Quelqu'un peu aider

    Je crois que c'est fait !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 5
    Par défaut Yes but...
    1 - ActiveX n'existe pas en C#.
    Oui en effet, autant pour moi, c'est bien un COM que j'ai créé.

    2 - Pour créer un evenement, regardes du coté des Delegate et des Event
    (mots clés du langage, les exemples sont parlant d'eux même)
    Justement, je m'en sort pas.
    J'avais bien vu cela, mais je ne vois pas l'evenement de l'exterieur...

    3 - Pour l'appui sur le bouton qui déclenche un evenement, dans la mesure ou il s'agit du "B.A.B.A" de la programmation d'IHM, je ne peux que te conseiller la lecture d'un livre sur C# et les Winforms (voir un tuto). Tu verras et comprendras le fonctionnement et tu verras que c'est relativement simple à gérer
    La on s'est mal compris, ma question n'était pas claire peut être.
    Je sais comment gérer l'appui sur un bouton quand même... Mais je veux le gérer de l'extérieur, d'ou le besoin d'un évenement publié.

    4 - Pour le controle via l'exterieur, tu as 2 possibilités (qui finalement sont assez voisines)

    Soit tu crées un evenement public et tu t'y abonnes de l'extérieur

    C'est exactement ce que j'essaye de faire mais sans succès pour le moment.
    Merci quand même.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    ok

    il faut que ton event soit public pour qu'il soit visible de l'extérieur

    Cela dit, je réitère, faire un object COM en C#, c'est ni simple ni trop possible (au sens de base des objets COM)...


    (cela dit, il y a un article sur CodeProject qui explique comment faire pour qu'on puisse enregistrer un composant C# comme un object COM)

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/06/2006, 11h36
  2. [COM] Interface refusée dans un activeX
    Par Nalfouille dans le forum MFC
    Réponses: 1
    Dernier message: 27/03/2006, 13h58
  3. Réponses: 5
    Dernier message: 27/03/2006, 10h29
  4. Récupérer des paramètres HTML dans un ActiveX
    Par mr.saucisse dans le forum MFC
    Réponses: 26
    Dernier message: 02/02/2006, 16h25
  5. Taille du texte dans un ActiveX
    Par Audin'S dans le forum MFC
    Réponses: 1
    Dernier message: 27/05/2005, 13h43

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