2013-10-07 3 views
0

Я пытаюсь нарисовать прямоугольник, нажав кнопку, но так же просто, как я думал, что я не могу понять это правильно.button can not draw rectangle vb.net

Private Sub Button36_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button36.Click 
    ' Create pen. 
    Dim blackPen As New Pen(Color.Black, 1) 

    ' Create rectangle. 
    Dim rect As New Rectangle(10, 710, 35, 100) 

    ' Draw rectangle to screen. 
    Me.CreateGraphics.DrawRectangle(blackPen, rect) 
End Sub 

Я использую VB.NET

+0

Вы должны называть свои кнопки. – SLaks

+0

Какая ошибка вы получаете? –

+1

Использование CreateGraphics() почти никогда не является правильным, все, что вы рисуете, снова исчезнет, ​​когда форма будет перерисована. Вероятное объяснение «это не работает» заключается в том, что ваше окно недостаточно велико. Используйте значение меньше 710. Минимизируйте и восстановите окно, чтобы увидеть проблему с CreateGraphics(). –

ответ

2

Вы должны сделать все на чертеже внутри Paint события.
В противном случае Windows будет удалять все в следующий раз, когда форма будет перекрашиваться.

Добавить обработчик для события Paint и провести все внутри, используя e.Graphics.
Вам нужно будет отслеживать, что нужно рисовать в любое время.

+0

Используйте графику, поставляемую в событии Paint(), через 'e.Graphics'. * Я действительно видел, как люди берут совет выше, а затем приступают к использованию CreateGraphics() из события Paint() ... –