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 :

Factorisation de code graphique


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut Factorisation de code graphique
    Bonjour à tous,

    Je débute en c#.net et j'aimerai réaliser une application contenant plusieurs formulaires. De plus, chacune des vues contient un bandeau commun en haut de page. Ce bandeau doit contenir le logo de l'application ainsi qu'une sorte de barre d'outil.

    Ne connaissant pas trop les techniques pour bien coder une application en .net, la première solution qui me vient à l'esprit et de créer plusieurs forms et de copier-coller le bandeau commun.

    Or cette solution ne me convient pas trop. En effet je préfererai factoriser le code du bandeau commun afin de ne pas devoir modifier chacun de mes formulaires dès que j'ai une modification à faire.

    Quelqu'un pourrait-t'il m'indiquer comment dois je m'y prendre?

    Merci d'avance!

  2. #2
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Alors moi je commencerais par créé un formulaire, je place la barre d'outils ainsi que le logo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public partial class Model : Form
    {
        ...
    }
    Tous les formulaires héritent de mon fomulaire Model qui contient la barre d'outils et le logo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public partial class formulaire1 : Model
    {
       ...
    }
    Ainsi tu n'a pas de redondance de code et les composants apparaissent dans le concepteur de formulaire.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Par défaut
    Merci beaucoup pour l'information, je vais essayer ça de suite.

  4. #4
    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 : 43
    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
    Il y a mieux à mon avis... l'héritage entre des formulaires a souvent des effets non désirés, d'autant plus que par défaut les contrôles posés sur la Form sont déclarés private, donc non visibles dans une classe héritée.

    Une meilleure solution serait de créer un contrôle personnalisé (UserControl) dans lequel tu places les éléments de ton bandeau. Tu pourras ensuite poser ce contrôle Bandeau sur chacun de tes formulaires.

  5. #5
    Expert confirmé 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
    Par défaut
    Autre solutions :

    Solution 1 :
    • mettre le bandeau dans un panneau d'une form X,
    • créer une instance de la form X (sans l'afficher),
    • changer le parent du panneau (et le tour est joué),
    • éventuellement, libérer l'instance de la form X.


    Solution 2:
    Si c'est juste un bandeau pas très compliqué, créer les composants du bandeau en dynamique.

  6. #6
    Membre émérite
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Une meilleure solution serait de créer un contrôle personnalisé (UserControl) dans lequel tu places les éléments de ton bandeau. Tu pourras ensuite poser ce contrôle Bandeau sur chacun de tes formulaires.
    C'est vrai j'aurais du y penser

  7. #7
    Expert confirmé 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
    Par défaut
    un contrôle personnalisé (UserControl)
    Est-ce vraiment une solution pour débutant?

  8. #8
    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 : 43
    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 Graffito Voir le message
    Est-ce vraiment une solution pour débutant?
    Ben c'est pas très difficile... en tous cas pas plus que les autres solutions proposées

Discussions similaires

  1. [C++] Factorisation de code
    Par xterminhate dans le forum C++
    Réponses: 6
    Dernier message: 07/11/2006, 16h21
  2. factoriser du code
    Par grabriel dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2006, 15h00
  3. Réponses: 7
    Dernier message: 01/08/2006, 11h58
  4. [GD] Code graphique anti robot
    Par miel_pops dans le forum Bibliothèques et frameworks
    Réponses: 17
    Dernier message: 03/03/2005, 00h03
  5. Réponses: 4
    Dernier message: 06/11/2003, 10h37

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