简体   繁体   中英

I am trying to draw a circle in VB.Net

Private Sub PictureBox1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.DrawEllipse(Pens.AliceBlue, New Rectangle(New Point(0, 0), New Size(PictureBox1.Width, PictureBox1.Height)))


End Sub

I am trying to draw a circle in VB.Net, .Net version 4. Nothing shows up in the paintbox.

Try to use:

e.Graphics.DrawEllipse(Pens.AliceBlue,e.ClipRectangle);

It worked for me.
You can also try to use:

e.Graphics.DrawEllipse(
    Pens.AliceBlue,
    0, 0,
    pictureBox1.Width-1, pictureBox1.Height-1);

Or

Rectangle rect = e.ClipRectangle;
rect.Inflate(-1, -1);
e.Graphics.DrawEllipse(Pens.AliceBlue, rect);

Your code works for me, except that Color.AliceBlue is almost identical to KnownColor.Control .

                            rr gg bb
Color.AliceBlue.ToArgb    = F0 F8 FF
KnownColor.Control.ToArgb = F0 F0 F0
Difference                = 00 08 0F

Try Pens.Navy :

Private Sub PictureBox1_Paint(sender As System.Object, e As PaintEventArgs) Handles PictureBox1.Paint
    e.Graphics.DrawEllipse(Pens.Navy, New Rectangle(New Point(0, 0), PictureBox1.Size)) 
End Sub 

http://msdn.microsoft.com/en-us/library/a3fd63x2(v=vs.80).aspx#Y1128

' Create pen.
Dim blackPen As New Pen(Color.Black, 3)

' Create rectangle for ellipse.
Dim rect As New Rectangle(0, 0, 200, 200)

' Draw ellipse to screen.
e.Graphics.DrawEllipse(blackPen, rect)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM