Salut
Ça faisait plus de 3 mois qu'il y avait pas eu de tuto, je me suis dit qu'il fallait y remédier !
Voici un petit tuto plutôt simple, pour arrondir nos controls. Il vous suffit de coller ce code dans l'événement Paint dans un bloc "commande Visual Basic" :
le problème, c'est qu'il faut copier coller ce long code dans tout les controls qu'on veut arrondir. Pour éviter d'avoir à faire cela, on va créer une fonction, qu'on appellera en une ligne .
Cliquez sur le bouton créer une fonction :
paramétrez la comme ceci :
Validez avec Ok.
On vas ajouter dedans une commande Visual Basic avec ce code dedans :
ce qui donne :
On va maintenant faire appel à notre fonction sur un control, pour l'arrondir. On va donc se mettre en dehors de notre fonction arrondir. Je vais me mettre dans la fonction Form_Load.
On ajoute un bloc "Exécuter une fonction d'un projet". On choisi la fonction Arrondir donc. Dans la le champs pour control, on met le nom du control qu'on veut arrondir. Dans ValH on met la hauteur qu'on veut enlever, et dans ValW, on écrit la largeur qu'on veut enlever. Cela donne pour moi au final :
on valide avec Ok. Tester votre programme . Votre control sera devenu rond !!!!
vous n'avez maintenant plus qu'a mettre un bloc "Exécuter une fonction d'un projet" similaire à chaque fois que vous voulez arrondir un control
Bon dev !
Ça faisait plus de 3 mois qu'il y avait pas eu de tuto, je me suis dit qu'il fallait y remédier !
Voici un petit tuto plutôt simple, pour arrondir nos controls. Il vous suffit de coller ce code dans l'événement Paint dans un bloc "commande Visual Basic" :
- Code:
' activation de plusieurs options pour améliorer le rendu
e.Graphics.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
e.Graphics.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
Dim control As Control = sender ' on récupère le control dessiné
Dim Path As New System.Drawing.Drawing2D.GraphicsPath ' Création d'un graphic path qui va recevoir le cercle
Dim Rectangle As Rectangle = control.ClientRectangle ' Création d'un rectangle qui contient le dessin du control
Rectangle.Inflate(-10, -10) 'rognage des bords du rectangle
Path.AddEllipse(Rectangle) 'dessin du cercle
control.Region = New System.Drawing.Region(Path) ' application des modifications
- Petite screen de l'éditeur de fonctions au cas où vous n'avez pas compris:
le problème, c'est qu'il faut copier coller ce long code dans tout les controls qu'on veut arrondir. Pour éviter d'avoir à faire cela, on va créer une fonction, qu'on appellera en une ligne .
Cliquez sur le bouton créer une fonction :
paramétrez la comme ceci :
Validez avec Ok.
On vas ajouter dedans une commande Visual Basic avec ce code dedans :
- Code:
Dim graph As Graphics = control.CreateGraphics
'activation de plusieurs options pour améliorer le rendu
graph.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic
graph.PixelOffsetMode = Drawing2D.PixelOffsetMode.HighQuality
graph.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
Dim Path As New System.Drawing.Drawing2D.GraphicsPath 'Création d'un graphic path qui va recevoir le cercle
Dim Rectangle As Rectangle = control.ClientRectangle 'Création d'un rectangle qui contient le dessin du control
Rectangle.Inflate(-ValW, -ValH) 'rognage des bords du rectangle
Path.AddEllipse(Rectangle) 'dessin du cercle
control.Region = New System.Drawing.Region(Path) 'application des modifications
ce qui donne :
On va maintenant faire appel à notre fonction sur un control, pour l'arrondir. On va donc se mettre en dehors de notre fonction arrondir. Je vais me mettre dans la fonction Form_Load.
On ajoute un bloc "Exécuter une fonction d'un projet". On choisi la fonction Arrondir donc. Dans la le champs pour control, on met le nom du control qu'on veut arrondir. Dans ValH on met la hauteur qu'on veut enlever, et dans ValW, on écrit la largeur qu'on veut enlever. Cela donne pour moi au final :
on valide avec Ok. Tester votre programme . Votre control sera devenu rond !!!!
vous n'avez maintenant plus qu'a mettre un bloc "Exécuter une fonction d'un projet" similaire à chaque fois que vous voulez arrondir un control
Bon dev !
Dernière édition par fandeonepiece2 le Dim 8 Mar 2015 - 10:26, édité 1 fois