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 :

Affichage d'un plugin dans un application modulaire [Fait]


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Roach-
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut Affichage d'un plugin dans un application modulaire
    Bonjour à tous,

    Suite a la lecture de la tuto sur les application modulaire, j'ai décidé de tester le tout. J'ai donc créé une solution dans VS 2008 avec un projet Interface, une application principale et un plugin (un simple bouton)

    L'interface :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Interface
    {
        public interface InterfacePlugIn
        {
            UserControl VisualComponent();
        }
    }
    Le plugin

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Interface;
    using System.Windows.Forms;
    using System.Drawing;
     
    namespace Bouton1
    {
        public class Bouton1 : UserControl, InterfacePlugIn
        {
            private Button button1;
     
            private void InitializeComponent()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.SuspendLayout();
                // 
                // button1
                // 
                this.button1.Location = new System.Drawing.Point(0, 0);
                this.button1.Name = "button1";
                this.button1.Size = new System.Drawing.Size(75, 23);
                this.button1.TabIndex = 0;
                this.button1.Text = "button1";
                this.button1.UseVisualStyleBackColor = true;
                // 
                // Bouton1
                // 
                this.Controls.Add(this.button1);
                this.Name = "Bouton1";
                this.Size = new System.Drawing.Size(75, 23);
                this.ResumeLayout(false);
     
            }
     
            public UserControl VisualComponent()
            {
                return this;
            }
        }
    }
    Application principale

    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using Interface;
     
    namespace MainFrame
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                object obj;
                obj = AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap("Bouton1.dll", "Bouton1.Bouton1");
            }
        }
    }
    J'ai aucune erreur tout semble fonctionner, cependant il me manque la parti affichage dans le programme principale. Je ne sais pas comment afficher le plugin qui est un simple bouton.

  2. #2
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Essaie ça dans ton form principal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    button1.Visible = true;
    'suis pas sur que ça règle ton problème mais sait-on jamais ^^

  3. #3
    Membre confirmé Avatar de Roach-
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    Non ce n'est pas une histoire de visibilité, mais juste afficher un plugin charger.

    Merci pareil

  4. #4
    Membre très actif Avatar de DarkSeiryu
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    425
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 425
    Par défaut
    Ben écoute je ne sais pas désolé.

    Bonne chance.

  5. #5
    Membre confirmé Avatar de Roach-
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Par défaut
    J'ai trouvé comment le faire

    Dans le programme principale, juste apres la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    obj = AppDomain.CurrentDomain.CreateInstanceFromAndUnwrap("Bouton1.dll", "Bouton1.Bouton1");
    Il faut ajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Controls.Add(((InterfacePlugIn)obj).VisualComponent());
    Voila le bouton apparès et mon application modulaire fonctionne comme je le désire.


    Merci a Sébastien Curutchet pour sont tuto.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    Salut, le lien du tuto stp?

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

Discussions similaires

  1. affichage de la version dans une application
    Par enwoo dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 27/07/2009, 13h05
  2. utlisation d'un code d'un plugin dans une application
    Par jijouIng dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 26/05/2009, 10h47
  3. Utilisation de plugin dans une application Web
    Par loopx dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 21/01/2008, 23h06
  4. Problème de refresh dans une application modulaire
    Par TigrouMeow dans le forum Windows Forms
    Réponses: 8
    Dernier message: 11/10/2007, 15h06

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