Hoe maak je een circulaire button in VB

Een computerprogramma is een reeks opdrachten die wordt uitgevoerd door de centrale verwerkingseenheid . Er zijn veel verschillende programmeertalen , maar degenen die het vaakst worden gebruikt vandaag zijn C + + , C # en Visual Basic ( VB ) . Visual Basic is een programmeertaal die ook een visuele interface voor het maken van de programma-interface , en dit maakt het bijzonder nuttig voor de beginner . De standaard Visual Basic interface kunt alleen de creatie van rechthoekige knoppen , maar ronde knoppen kan worden gemaakt met behulp van een kleine hoeveelheid code.Things je nodig hebt
Visual Basic
Toon meer instructies

1

Maak een nieuw Visual Basic project . Het programma kan worden gestart door het schilderen van de toets , die kan worden gedaan met behulp van de " AddEllipse " klasse . Typ het volgende in de Visual Basic- venster :

Dim a As New System.Drawing.Drawing2D.GraphicsPath
recRegion = Nieuwe RectangleF ( 0 , 0 , Me.Width , Me.Height )
a.AddEllipse ( recRegion )
Me.Region = Nieuwe Regio ( a) het kopen van 2

Teken de rand van de knoppen . Om ervoor te zorgen vloeiende lijnen worden getrokken , stelt u de eigenschap SmoothingMode te AntiAlias ​​. Typ de volgende code in de Visual Basic- venster :

Dim p1 Zoals Pen
Dim p2 Zoals Pen
recBorder = Nieuwe RectangleF ( 1 , 1 , Me.Width - 2 , Me.Height - 2 )
' Deze lijn is zeer belangrijk om vloeiende rondingen hebben

g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias ​​
. ' Nu moeten we het 3D-effect te tekenen
.

g.DrawArc ( p1 , recBorder , 180 , -180 )
g.DrawArc ( p2 , recBorder , 180 , 180 )

Plaats Goedkope 3 een tekst label aan de binnenkant op de knop , en schrijf de belangrijkste controle- lus om te bepalen of een knop is ingedrukt . Typ de volgende code in de Visual Basic- venster :

' . Meet de grootte van de String te centraliseren

' Als een afbeelding aanwezig is , is de tekst opgesteld naast het pictogram <. br >

Dim tekstgrootte Zoals SizeF = g.MeasureString ( Me.Text , Me.Font )
' Als de muis wordt ingedrukt teken de tekst en het beeld , indien beschikbaar ,

' verschoven 2 pixels naar rechts om het 3D-effect te simuleren

Als Me.mousePressed dan
Als Me._Image dan niets is
g.drawString ( Me.Text , Me.Font , stringBrush , _
( ( ( Me.Width + 3 ) - textSize.Width ) /2 ) + 2 , _
( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) + 2 )
Else
Dim pt als Nieuwe Point ( ( ( Me.Width + 3 ) /12 ) + 1 , _
( ( Me.Height + 2 - 16 ) /2 ) + 1 )
Dim recString als Nieuwe Rectangle ( pt , Nieuw Maat ( 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
Als Me._Image dan niets is
g.drawString ( Me.Text , Me.Font , stringBrush , _
( ( ( Me.Width + 3 ) - textSize.Width ) /2 ) , _
( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) )
Else
Dim pt als Nieuwe Point ( ( Me.Width + 3 ) /12 , ( Me.Height + 2 - 16 ) /2 )
Dim recString als Nieuwe Rectangle ( pt , Nieuw Maat ( 16, 16 ) )
g.DrawImage ( _Image , recString )
g . trekkoord ( Me.Text , Me.Font , stringBrush , _
recString.X + recString.Width + 3 ,
( ( ( Me.Height + 2 ) - textSize.Height ) /2 ) )
End If
End If
4

Sla het programma en start het programma . Een venster moet verschijnen met een reeks cirkelvormige en elliptische knoppen .