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 :

habillage, personnalisation d'un winform


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut habillage, personnalisation d'un winform
    Bonjour je cherchait une réponse pour ma culture G de visual studio.
    Ce que j'aimerais savoir, c'est comment peut-on "habiller" un windows form en c#. car j'ai un widget que je viens de terminer et y'a une charte graphique qui vient d'etre définit. j'ai une image de la taille du widget que je dois "collé" dessus afin d'avoir un widget plus classe.

    Car le style par défaut c'est windows et c'est pas terrible

    en espérant que vous ayez compris

    Il faudrait qu'il soit comme dans l'image ci dessous
    Images attachées Images attachées  

  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
    Points : 5 195
    Points
    5 195
    Par défaut
    la solution : Faire du skinnable

    Donc, utiliser un découpage en image pour les différents controles

    Ou bien, au pire, tu fais un masque de couleur différente pour chacun de tes items de ton IHM pour leur associer une action bien spécifique en fonction d'ou la souris clique...

    sinon, des "customisations" de controles en utilisant les backgroundImage des différents controles windows...

    Ca dépend du mode de fonctionnement de tes controles également !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tu aurais codé en wpf, on t'aurais donné une solution de 3 lignes de xaml pour faire ca ... mais en windows forms il faut repasser derrière tout
    de plus les boutons pas carrés faut coder pour les avoir, et encore ca dépend du fond, et les dégradés là aussi faut les coder
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  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
    Points : 5 195
    Points
    5 195
    Par défaut
    c'est pour celà Pol63 qu'une solution à base d'un masque représentant les boutons ou controle peut avoir un sens (ca dépend si il y a des saisies type "box" ou bien si il y a des slider, et autres controles "mobiles"...

    Sinon, faire en WPF, c'est pas compliqué... et vu qu'il a le graphisme !!!
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    ben disons que j'arrive au terme du projet, et que je suis obligé de continuer dans ce sens.....

    Donc d'après vous c 'est pas simple, alors que dois-je faire s'il vous plait ?

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    sinon est-il possible d'intégrer du WPF à du c# ???

    question peut etre bete !!!

  7. #7
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    wpf c'est du c# indirectement, c'est juste qu'en .net (c#, vb.net ...) on peut choisir entre 2 technologies d'affichage pour un exe, windows forms (gdi+) ou wpf (directX)
    si tu n'as qu'une form, migrer sur wpf peut aller assez vite car le code c# reste le même, m'enfin si tu ne connais pas wpf tu vas galérer avant de trouver ce qu'il faut écrire

    pour changer ton interface en windows forms, il y a plusieurs solutions, comme proposé, tu peux découper ta maquette en plusieurs images png et les mettre en fond sur les controles
    ou alors coder l'affichage
    par exemple un bouton quand il se déssine il appelle sa méthode onpaint qui déssine le fond selon backgroundimage et backcolor, puis écrit le texte etc...
    donc tu peux créer un classe qui hérite de bouton dont tu coderas la partie dessin (par exemple pour un dégradé c'est la classe system.Drawing.solidcolorbrush)


    nb : on peut mettre des controles windows forms dans du wpf et inversement, il y a des controles hotes pour l'interopérabilité
    mais ceci est en théorie utile sur des gros projets ou la migration de l'un à l'autre demanderait trop de temps
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    ok merci pol63, c'est vrai que WPF je connais pas vraiment.

    oui je pense que le graphiste va me découper les différentes partie de la charte graphique que j'ai exposé sur ce post. Par contre je pense que pour le Datagridview ça risque d'etre un peu plus compliqué car l'image se met en desous et ça n'a aucun intéret.

    Merci tout de meme, vais essayé de bidouiller avec tes infos, et si j'ai besoin d'un conseil je me permettrai de te soliciter

    bye

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    sur un datagridview en windows forms tu ne vas pas pouvoir faire grand chose ou vraiment pas facilement ! après tu peux le remplacer par des labels perso

    par contre si tu peux perdre quelques jours, wpf est une piste à explorer, parce que ca donne une liberté totale pour le visuel, et surtout en très peu de ligne de code (en xaml par contre)
    et si tu dois souvent faire des applis jolies, migrer est vraiment conseillé
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    ok alors je crois que je vais me lancer sur le WPF du coup lol

    Et comment dois je migrer. Je fais un nouveau projet WPF ensuite je colle mon code.

    Et après ?

    Excuse mes questions si parfois elle te paraissent simple.
    je suis un novice en programmation.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    est ce que en wpf je peux commencer à construire mon gadget comme en windows form directement puis ensuite appliquer le style.
    ou puis je lui appliquer tout de suite la charte graphique

  12. #12
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un des autres avantages de wpf par rapport aux windows forms c'est que le style est modifiable après coup facilement

    donc tu peux construire ton appli et une fois que ca marche modifier le visuel

    il faut déjà comprendre les 4 panels de wpf (canvas, grid, stackpanel/wrappanel et dockpanel)
    ce qui choque au départ c'est que par exemple si tu veux une image et du texte sur un bouton il faut mettre un panel dans le bouton car les controles ne peuvent accueillir qu'un élément alors que les panels peuvent en accueillir plusieurs
    donc par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <button>
        <dockpanel>
            <image dockpanel.dock="left" source="chemin de l'image"/>
            <textblock text = "bouton" dockpanel.dock="right"/>
        </dockpanel>
    </button>
    pour modifier le visuel, il est possible de déclarer un style en disant que tu vas l'appeler à tous les boutons de l'appli (ou tous les boutons d'un window), ce qui sera "rétroactif" (fontsize = tant, couleur de fond = tel dégradé etc...)
    et/ou de modifier le template du bouton (description de comment s'affiche un bouton) pour dire qu'un bouton c'est une bordure avec les coin arrondi etc...

    il faut aussi voir le databinding et les datatemplates
    car quand en windows forms on est parfois amené à partir d'une collection de faire des ajouts de controles et de définir leur propriété, en wpf on donne la collection à un listbox (ou itemscontrol) puis de dire coté xaml que la classe "client" sera affiché avec un texbox qui est lié à la propriété nom du client, un datapicker qui est lié à la propriété DateCreation de la classe client etc...


    tu peux essayer de trouver quelques webcast, ceux de mitsu furuta donnent en général envie de se mettre au wpf
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 193
    Points : 41
    Points
    41
    Par défaut
    ok ok

    ben merci pour toutes ces infos pol3. au moins comme ça mérite d'etre clair.
    Allez au boulot !!! faut pas que je perde de temps.

    en plus ça a l'air très interessant ton sujet.

    merci pour tout

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

Discussions similaires

  1. Edition et personnalisation WinForm c#
    Par Yamour dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/01/2014, 11h13
  2. [langage] personnaliser le tri
    Par schnecke dans le forum Langage
    Réponses: 3
    Dernier message: 24/03/2004, 15h14
  3. Personnaliser un rapport d'erreur sous Windows XP
    Par Neilos dans le forum Windows
    Réponses: 5
    Dernier message: 21/11/2003, 18h13
  4. [FLASH MX2004] Personnaliser les scrollbars
    Par stephane eyskens dans le forum Flash
    Réponses: 10
    Dernier message: 09/10/2003, 12h53
  5. [VB6] [UserControl] Évènements personnalisés
    Par Frankywinky dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/05/2003, 17h56

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