Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > vb.net проблемы с графика


Автор: shoblin86 7.5.2011, 09:08
Код

Public Class Form1
    Dim g As Graphics = CreateGraphics()

    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        g.DrawLine(Pens.Black, 20, 20, 800, 20)
    End Sub
End Class


Почему то линия рисуется только до отметки 400 по Х( по игрик тоже так), а потом все линия невидна... Уже на второй машине пробую, что не так, что вообще за проблема??? Что за ограничения

Автор: shoblin86 10.5.2011, 10:48
Если определение CreateGraphics переместить в обработку события Form1_Paint все нормально??? обрасть рисования на форме сразу не определяется и как єто сделать???
Код

Public Class Form1
    Dim g As Graphics
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        g = CreateGraphics()
        g.DrawLine(Pens.Black, 20, 20, 800, 20)
    End Sub
End Class

Автор: diadiavova 10.5.2011, 11:29
Вообще-то доступ к графическому контексту надо получать через аргумент обработчика события, а не через креэйтгрэфикс
Код

Public Class Form1
    Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        e.Graphics.DrawLine(Pens.Black, 20, 20, 800, 20)
    End Sub
End Class

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)