Edgars Miškins Edgars Miškins - 1 year ago 103
Vb.net Question

Drawing a rectangle in vb.net

I want to draw a simple 2d rectangle on a form.

Because I have never done anything graphical in vb.net, I searched the web and found many instances, that offer solutions similar to this one.

Public Sub DrawRectangleRectangle(ByVal e As PaintEventArgs)

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

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

' Draw rectangle to screen.
e.Graphics.DrawRectangle(blackPen, rect)
End Sub

Yet, I don't understand how this works..
What is this
e As PaintEventArgs
? What input does this sub require? How can I draw a simple rectangle?

For starters, I want something simple to work so I can experiment on it and eventually learn more advanced stuff.

Answer Source

OK this code works fine before,You can test it for learning

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   'dimension variables of local scope

    Dim myGraphics As Graphics

    Dim myRectangle As Rectangle

    Dim myPen As New Pen(Color.Blue)

   'return the current form as a drawing surface

    myGraphics = Graphics.FromHwnd(ActiveForm().Handle)

    'create a rectangle based on x,y coordinates, width, & height

    myRectangle = New Rectangle(x:=5, y:=5, Width:=10, Height:=40)

   'draw rectangle from pen and rectangle objects

    myGraphics.DrawRectangle(pen:=myPen, rect:=myRectangle)

    'create a rectangle based on Point and Size objects

    myRectangle = New Rectangle(Location:=New Point(10, 10), Size:=New Size(Width:=20, Height:=60))

    'draw another rectangle from Pen and new Rectangle object

    myGraphics.DrawRectangle(pen:=myPen, rect:=myRectangle)

    'draw a rectangle from a Pen object, a rectangle's x & y, 

      ' width, & height

   myGraphics.DrawRectangle(pen:=myPen, x:=20, y:=20, Width:=30, Height:=80)

 End Sub
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download