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 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
Imports System.Drawing.Drawing2D
Public Class Form1
Public Sub New()
' Cet appel est requis par le concepteur.
InitializeComponent()
' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
Me.DoubleBuffered = True
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Invalidate()
End Sub
Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
Dim grfx As Graphics = e.Graphics
Dim x As Single = 0.0
Dim y As Single = 0.0
Dim crayon As New Pen(Brushes.White, 2.0)
Dim brosse As New SolidBrush(Color.Black)
grfx.Clear(brosse.Color)
Dim ellipseA As New Rectangle(x, y, Me.Width, Me.Height)
grfx.DrawEllipse(crayon, ellipseA) ' dessine un grand cercle blanc (g As Graphics)
'sweepangle est l'increment angulaire en degre..
'startangle est ton angle de depart qui change à chaque iteration(sens anti-horaire)
Dim sweep As Single = 10.0
For Angle As Integer = 0 To 360 Step 10
grfx.DrawPie(crayon, ellipseA, Angle, sweep)
If Angle = 350 Then Exit For ' on sort le dernier secteur est double
Next
'petit cercle jaune interieur
Dim ellipseB As Rectangle = ellipseA
ellipseB.Inflate(-40, -40) ' contracte de 40
'grfx.DrawEllipse(crayon, ellipseB) ' le dessine et que tu peux supprimer
grfx.FillEllipse(brosse, ellipseB) ' le "fill" pour cacher le pie central
'warning : dispose des ressources crayon et brosse
crayon.Dispose()
brosse.Dispose()
End Sub
Private Sub Form1_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
Me.Invalidate()
End Sub
End Class |
Partager