Drawing a rectangle in vb.net

Emi picture Emi · Dec 19, 2014 · Viewed 22.4k times · Source

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

Ashouri picture Ashouri · Dec 19, 2014

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