Creare un nuovo progetto di Visual Basic. Il programma può essere avviato dipingendo il pulsante , che può essere fatto utilizzando il " AddEllipse " classe . Digitare quanto segue nella finestra di Visual Basic :
Dim A As New System.Drawing.Drawing2D.GraphicsPath
recRegion = New Rectangle ( 0 , 0 , Me.Width , Me.Height )
a.AddEllipse ( recRegion )
Me.Region = Nuovo Regione ( a)
2
Disegna il bordo dei pulsanti . Per garantire curve morbide sono disegnati , impostare la proprietà SmoothingMode a AntiAlias . Digitare il seguente codice nella finestra di Visual Basic :
Dim p1 Come Pen
Dim p2 Come Pen
recBorder = New Rectangle ( 1 , 1 , Me.Width - 2 , Me.Height - 2 )
'Questa linea è molto importante avere curve morbide
g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
. ' Ora abbiamo bisogno di richiamare l'effetto 3D
.
g.DrawArc ( p1 , recBorder , 180 , -180 )
g.DrawArc ( p2 , recBorder , 180 , 180)
3
Inserire un'etichetta di testo all'interno il pulsante , e scrivere il ciclo di controllo principale per determinare se è stato premuto un pulsante . Digitare il seguente codice nella finestra di Visual Basic :
' . Misurare la dimensione della stringa di centralizzare lo
' Se l'immagine è presente, il testo viene disegnato accanto all'icona <. br>
Dim textSize Come SizeF = g.MeasureString ( Me.Text , Me.Font )
' Se si preme il mouse disegnare il testo e l'immagine , se disponibile ,
' spostata 2 pixel a destra per simulare l'effetto 3D
Se Me.mousePressed Poi
Se Me._Image è niente allora
g.DrawString ( Me.Text , Me.Font , stringBrush , _
( ( ( Me.Width + 3) - textSize.Width ) /2 ) + 2 , _
( ( ( Me.Height + 2) - textSize.Height ) /2) + 2)
Else
Dim pt As New Point ( ( ( Me.Width + 3) /12) + 1 , _
( ( Me.Height + 2-16 ) /2) + 1 )
Dim recString As New Rectangle ( pt , New Size ( 16 , 16 ) )
g.DrawImage ( _Image , recString )
g.DrawString ( Me.Text , Me.Font , stringBrush , _
recString.X + recString.Width + 3 ,
( ( ( Me.Height + 2) - textSize.Height ) /2) + 2)
End If Else
Se Me._Image è niente allora
g.DrawString ( Me.Text , Me.Font , stringBrush , _
( ( ( Me.Width + 3) - textSize.Width ) /2 ) , _
( ( ( Me.Height + 2) - textSize.Height ) /2) )
Else
Dim pt As New Point ( ( Me.Width + 3) /12 , ( Me.Height + 2-16 ) /2)
Dim recString As New Rectangle ( pt , New Size ( 16 , 16 ) )
g.DrawImage ( _Image , recString )
g . DrawString ( Me.Text , Me.Font , stringBrush , _
recString.X + recString.Width + 3 ,
( ( ( Me.Height + 2) - textSize.Height ) /2) )
End If End If
4
Salvare il programma ed eseguire il programma . Una finestra dovrebbe sollevarsi con una serie di pulsanti circolari ed ellittiche .