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 :

[Visual studio 2005] Changer la forme d'un bouton


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 45
    Points : 34
    Points
    34
    Par défaut [Visual studio 2005] Changer la forme d'un bouton
    Bonjour tous,

    JE me demandais si c'etait possible de changer la forme des boutons dans un winform??
    Si oui est ce que quelqu'un peut me montrer comment?

    D'avance merci pour votre aide
    Jessika

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    non il n'est pas possible
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  3. #3
    Membre habitué
    Avatar de crjo
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Octobre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 81
    Points : 132
    Points
    132
    Par défaut
    Salut,

    De mémoire, je dirais que tu peux toujours créer un contrôle utilisateur qui hérite de System.Windows.Form.Button et rédéfinir la méthode OnPaint pour dessiner le bouton comme bon te semble.

    Par contre, 2 remarques :

    1. ton bouton aura toujours une forme réctangulaire. Même si tu dessines une étoile dans le rectangle, tu pourras toujours cliquer sur n'importe quelle partie du rectangle (en dehors de ton étoile) et récolter l'événement Click. J'ignore également si tu peux dessiner en dehors de cette zone rectangulaire.
    2. J'ignore s'il faut faire un travaille supplémentaire pour gérer l'état enfoncé du bouton (quand tu cliques et que tu maintiens le bouton de la souris enfoncé, le bouton prend également une apparence enfoncée tant que tu ne relâches pas le bouton)


    Si quelqu'un a déjà fait ce type de personnalisation de bouton, il pourra sans doute t'éclairer de ses lumières...
    A plus

  4. #4
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Ou encore lui mettre une image en background. Et pour eviter l'effet de bord du bouton, il suffit de mettre la propriété FlatStyle à Popup.
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  5. #5
    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
    Si tu fais un héritage de Button, il te faut effectivement surcharger le OnPaint()
    pour dessiner toi meme à la façon que tu veux...

    Effectivement, si tu ne fais rien de plus, ton bouton recuperera les evenements
    clavier et souris des que la souris sera dans le rectangle... Mais, il existe
    une tres jolie propriété en GDI et dans les controles qui s'appelle : tada

    Region

    Et region, te permets de définir un graphicalPath (de mémoire) qui correspond
    au contour de ton bouton.. Cette classe GraphicalPath te permet d'ajouter
    des ellipses, suite de point, rectangle, etc.. pour définir le dit contour..

    Tu peux donc "aisément" developper ton "round button" ou autre forme
    bizarre simplement en étant capable d'en définir les contours via la rédifinition
    de la région du dit bouton...

    Pour info, tu peux aussi regarder sur www.codeProject.com ou se trouve
    un certain nombre d'exemple en C# de ce genre de bouton...

    Voila... je pense que le sujet est clos

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

Discussions similaires

  1. scrolbare pour un form sous VB.NET avec visual studio 2005
    Par im-rainmaker dans le forum VB.NET
    Réponses: 1
    Dernier message: 09/02/2009, 13h09
  2. Réponses: 2
    Dernier message: 17/06/2008, 09h54
  3. forms MDI et Visual Studio 2005
    Par intissar_g dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 25/11/2007, 23h46
  4. crystal report sous visual studio 2005 avec web form
    Par beabea dans le forum ASP.NET
    Réponses: 7
    Dernier message: 19/04/2007, 17h13
  5. [C#]form de démarrage, visual Studio 2005
    Par mcay dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/10/2005, 16h07

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