Formulaire personnalisé [Résolu]

Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
- - Dernière réponse : cs_Robert33
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
- 14 août 2010 à 08:04
Bonjour

Est-il possible de créer un aspect visuel totalement personnalisé pour les forms??

en fait j'aimerais faire une form qui ressemble a une table de poker. avec la croix de fermeture au bord de la table et donc au dessus du rectangle...

Est-ce possible?

merci
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
20
3
Merci
Re

tu trouveras un peu plus de détail ->ici<-

Bob
C# is amazing, enjoy it!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Robert33
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
20
0
Merci
Salut Byrong

Oui tout à fait possible, GDI+ permet ce genre de chose
par exemple, crées-toi un projet avec une form simple
et ajoute ce code
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
System.Drawing.Drawing2D.GraphicsPath shape = new System.Drawing.Drawing2D.GraphicsPath();
shape.AddEllipse(0, 0, this.Width, this.Height);
this.Region = new System.Drawing.Region(shape);
}


on défini un GraphicsPath, qui est un ensemble de forme et d'objet graphiques
puis on modifie la region graphique de la form pour lui donner celle du GrpahicPath
dans l'exemple on y défini qu'une elipse, mais on aurrait pu y mettre plein d'autres objets, la region graphique résultante aurrait donnée la forme de la "form".
on peut par exemple avoir des forms avec des trous.

pour finir, on peut ajouter une image de fond pour un meilleur rendu.


Bob
C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
0
Merci
merci et comment je fais pour mettre les bouton croix, reduire et agrandir au centre?

merci t es trop fort
Commenter la réponse de cs_Byrong
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
0
Merci
je vais essayer cela et je te tiens au courant

merci en tout cas
Commenter la réponse de cs_Byrong
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
0
Merci
est-il possible de faire cela sur des boutons?

afin d'avoir des bouton totalement rond...

merci
Commenter la réponse de cs_Byrong
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
20
0
Merci
Bonsoir Byrong

à ma conaissance il n'existe rien de "tout pret" mais tu peux le faire par toi-même
l'idéal serait de définir ton propre UserControl,
voici un exemple ou je redéfini un bouton, tu peux l'utiliser dans ta form, ou t'en inspirer pour écrir un UserControl

l'idée est d'avoir 2 images une pour le bouton UP une pour DOWN
j'en profite pour changer la couleur du texte lors du survole de la souris

public Form1()
{
InitializeComponent();

//redéfinition des boutons 5 et 6, les images up et down proviennent de la resource locale
SetUSerButton(button5, 
               global::WindowsFormsApplication6.Properties.Resources.screen7,
               global::WindowsFormsApplication6.Properties.Resources.screen4);
SetUSerButton(button6, 
               global::WindowsFormsApplication6.Properties.Resources.screen7,
               global::WindowsFormsApplication6.Properties.Resources.screen4);
     ...
}
// Méthode de définition d'un user bouton
private void SetUSerButton(Button button, Image imageUp, Image imageDown)
{

// image UP
button.BackgroundImage = imageUp;
// L'image down mémorisée dans le Tag
button.Tag = imageDown;

// l'image s'adapte à la taille du bouton
button.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;

// Apparence FLAT et les couleurs et les bordures transparentes
button.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
button.UseVisualStyleBackColor = false;
button.FlatAppearance.BorderSize = 0;
button.BackColor = System.Drawing.Color.Transparent;
button.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Transparent;
button.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Transparent;

// les evenements de souris pour changer les couleurs et les images
button.MouseLeave += new System.EventHandler(this.UserButton_MouseLeave);
button.MouseDown += new System.Windows.Forms.MouseEventHandler(this.UserButton_MouseDown);
button.MouseHover += new System.EventHandler(this.UserButton_MouseHover);
button.MouseUp += new System.Windows.Forms.MouseEventHandler(this.UserButton_MouseUp);

}
// la souris au dessus du bouton, on change la couleur
private void UserButton_MouseHover(object sender, EventArgs e)
{
//change le texte en rouge
((Button)sender).ForeColor = Color.Red;
}
// la souris sort du bouton, on remet la couleur noire
private void UserButton_MouseLeave(object sender, EventArgs e)
{
//retour en noir
((Button)sender).ForeColor = Color.Black;
}
// Click, on change l'image pour avoir un impression d'enfoncement.
private void UserButton_MouseDown(object sender, MouseEventArgs e)
{
//l'image down est dans le Tag l'image up est affichée
Image imageUp = ((Button)sender).BackgroundImage;
((Button)sender).BackgroundImage = ((Button)sender).Tag as Image;
// on met l'image up dans le Tag
((Button)sender).Tag = imageUp;
}
//retour à la normal
private void UserButton_MouseUp(object sender, MouseEventArgs e)
{
//l'image up est dans le Tag l'image down est affichée
Image imageDown = ((Button)sender).BackgroundImage;
((Button)sender).BackgroundImage = ((Button)sender).Tag as Image;
// on met l'image down dans le Tag
((Button)sender).Tag = imageDown;
}


C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33
Messages postés
224
Date d'inscription
mercredi 28 septembre 2005
Statut
Membre
Dernière intervention
24 juillet 2013
0
Merci
ok merci, je vais regarde a ca, enf ait je veux juste faire un bouton qui ressemble a un jeton de poker. sans forcement mettre beaucoup d effet dessus
Commenter la réponse de cs_Byrong
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
0
Merci
Bonjour a tous,

Dis moi Robert ! tu sembles avoir une bonne pratique des winform. pour ma part, je crée en ce moment une application windows form parent-enfant. Mais, au fur et a mesure que j'ajoute des contrôles dans mes formes, elles s'alourdissent et semblent planter au démarrage ou l'affichage de la form concernée. Ce que je voudrais, c'est une interface légère (qu'importe le nombre de contrôles) qui ne plante pas. Dois-je faire appel aux threads, et comment ??

Merci a tous pour vos conseils.
Commenter la réponse de soupiste
Messages postés
835
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
14 janvier 2017
20
0
Merci
Bonjour Soupiste

Pas très fair-play de s'immisser dans une conversation avec un nouveau sujet.

Pose ta question sur le forum, on va y répondre, ou écris-moi directement.

Bob
C# is amazing, enjoy it!
Commenter la réponse de cs_Robert33