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 :

[C#] Modifier la windows form d'une bibliothèque de classe depuis mon programme principal


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut [C#] Modifier la windows form d'une bibliothèque de classe depuis mon programme principal
    Bonjour,

    Actuellement j'utilise un programme qui fait appel à des bibliothèques de classe (DLL) pour dessiner plusieurs windows form.

    Dans mon programme, je voudrai redessiner ces windows form en modifiant quelques composant ( par exemple les masquer avec quelque chose comme "Composant.Visible = false" ).
    Comme je ne peux pas modifier les classes existantes ou la windows form de la DLL ( comme elles sont aussi utilisées par une autre application ), je cherche un moyen pour pouvoir agir sur la windows form de la DLL ( plus précisément ses composants) depuis mon programme principal (Form1.cs).

    Avez vous une idée ?
    Si je ne suis pas trés clair , je peux répondre aux questions

    Moltico

  2. #2
    Membre averti Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Points : 422
    Points
    422
    Par défaut
    Bonsoir,

    tu instancies la form de ta bibliothèque puis tu récupère et modifie les composants qui t'intéressent depuis la propriété Controls

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    tu instancies la form de ta bibliothèque puis tu récupère et modifie les composants qui t'intéressent depuis la propriété Controls
    Mais les seules controls modifiables seront ceux qui dont la propriété Modifiers est Public.

    On peut toutefois contourner cette limitation en utilisant la Reflection.
    Voir : http://www.csharp-examples.net/reflection-examplesr

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses qui m'ont bien aidé. ( Je n'ai pas utilisé la méthode avec les set/get du lien car je ne sais pas encore les utilisés)

    Si quelqu'un essaye de faire quelque chose de similaire, je vais vous donner une des solutions possible.
    J'ai commencé par changer la propriété Modifiers de mon composant à Public.

    Ensuite dans mon programme, une liste qui répertoriait les composants de la DLL existait déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public List<Control> ListeControl = new List<Control>();
    Puis j'ai instancié ma form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public UCParamTechnique UCParamtec = new UCParamTechnique() ;
    Puis j'ai passé la propriété que je voulais à mon composant EPComptage de la DLL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (listecontrol[3] as DLL_ParamTechnique.UCParamTechnique).EPComptage.Visible = false;

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

Discussions similaires

  1. [Windows forms]Passage à une autre form
    Par ichitakaseto007 dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 05/06/2008, 09h42
  2. Réponses: 1
    Dernier message: 05/05/2008, 11h47
  3. Importer une bibliothèque de classes sous forme d'un DLL
    Par Sangdrax1604 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 31/12/2007, 12h18
  4. [Débutant]C# de windows form a une application web
    Par Rasiel-ao dans le forum Windows Forms
    Réponses: 5
    Dernier message: 24/12/2007, 11h54
  5. passage d'une windows forms a une autre
    Par mastersoiree dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/02/2007, 09h34

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