Search code examples
vb.netdrawrectangle

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.


Solution

  • 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