Рисование прямоугольника в vb.net

Я хочу нарисовать простой 2d прямоугольник на форме.

Поскольку я никогда не делал ничего графического в vb.net, я искал в Интернете и нашел много примеров, которые предлагают решения, подобные этому.

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

Тем не менее, я не понимаю, как это работает.. Что это за e As PaintEventArgs? Какие входные данные требует этот саб? Как нарисовать простой прямоугольник?

Для начала я хочу, чтобы что-то простое работало, чтобы я мог поэкспериментировать с ним и в конечном итоге изучить более сложные вещи.


person Emi    schedule 19.12.2014    source источник


Ответы (1)


ОК, этот код отлично работает раньше, вы можете проверить его для обучения

    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
person Ashouri    schedule 19.12.2014
comment
Спасибо. Это именно то, что мне нужно. - person Emi; 19.12.2014