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 :

Appliquer un Style sur un WinForm


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Points : 45
    Points
    45
    Par défaut Appliquer un Style sur un WinForm
    Bonjour à tous,

    j'aimerais pouvoir appliquer un style (ou thème) sur mon application WinForm. Est-ce que quelqu'un pourrais me donner quelques conseils ou procédures ?

    Voici un exemple concret; Je suis sous un serveur 2003, et j'aimerais que min application affiche le thème de windows xp. Est-ce possible ?

    Merci a tous

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    A mon avis, tu dois surtout récupérer des images/icones que tu dois afficher
    par exemple avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.BackgroundImage = new Bitmap(@"MyImage.jpg");

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2008
    Messages : 125
    Points : 45
    Points
    45
    Par défaut
    Merci mais ce n'est pas ça qui permet de changer l'apparance du Form ?

    Merci

  4. #4
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut les themes sont installes sur le systeme win 2003
    bonjour
    pour activer les themes s'ils sont installes sur ton systeme.
    code exemple msdn:
    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
     
    using System;
    using System.Drawing;
    using System.Windows.Forms;
     
    namespace VStyles
    {
        public class Form1 : System.Windows.Forms.Form
        {
     
            private System.Windows.Forms.Button button1;
     
            [STAThread]
            static void Main() 
            {
               //ici l'instruction qui les active
                Application.EnableVisualStyles();
                Application.Run(new Form1());
            }
     
            public Form1()
            {
                this.button1 = new System.Windows.Forms.Button();
                this.button1.Location = new System.Drawing.Point(24, 16);
                this.button1.Size = new System.Drawing.Size(120, 100);
                this.button1.FlatStyle = FlatStyle.System;
                this.button1.Text = "I am themed.";
     
                // Sets up how the form should be displayed and adds the controls to the form.
                this.ClientSize = new System.Drawing.Size(300, 286);
                this.Controls.Add(this.button1);
     
                this.Text = "Application.EnableVisualStyles Example";
     
            }
        }
    }
    ceci n'est pas suffisant si le service theme n'est demarre sur win server 2003
    pour le demarrer :
    -sur services et demarrer le service appele "Themes"
    -apparence ->affichage :choisir theme Luna
    Apres cette manip tu peux tester le code exemple ci-dessus qui s'executera avec les styles visuels actives,sauf pour les controles qui ont la propriete flatstyle.
    Pour ces derniers,s'ils en existent dans ton application il faut mettre leur propriete flatstyle=system.
    bon code....

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Les WinForms ne proposent pas de système de skin ; par défaut, elles prennent le style de Windows (à l'appel de Application.EnbaleVisualStyles), mais il n'est pas possible de définir une skin personnalisée.

    Solution : utiliser des composants (payants) qui gèrent ça, comme DevExpress (y'en a d'autres, mais c'est ça que je connais) ; ou abandonner les WinForms et utiliser WPF, nettement plus souple dans la personnalisation de l'apparence.
    ಠ_ಠ

Discussions similaires

  1. Appliquer un style sur un tableau d'éléments
    Par Arnaud F. dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2009, 10h29
  2. appliquer un style sur un label asp
    Par hokidoki dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/04/2009, 08h49
  3. Réponses: 1
    Dernier message: 17/10/2008, 13h11
  4. [IE] Appliquer un style sur input>readonly
    Par mattheox dans le forum Mise en page CSS
    Réponses: 10
    Dernier message: 26/11/2007, 14h10
  5. [CSS] applique un style sur un liste deroulante sous Firefox
    Par dark_vidor dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/02/2006, 09h56

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