如何增加 vb.net 图形的剪辑大小
How to increase the clip size of a vb.net graphic
我正在尝试熟悉 vb.net 中的图形,并且想在不使用 Form1_Paint
方法,但使用 Button1
然而,这条线只画了大约四分之一,就停止了,如图所示:
我想我需要增加图形对象的剪辑 z
我尝试了以下但它不起作用。我还尝试减小 Clip 的大小并且按预期工作。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
z.Clip.MakeInfinite()
z.DrawLine(pen1, 0, 0, Me.Size.Width, Me.Size.Height)
End Sub
pen1
和z
在程序开始时初始化如下:
Dim z As Graphics = CreateGraphics()
Dim pen1 = New Pen(Color.Black, 3)
我也尝试过为 x2 和 y2 使用不同的设置值,但除了使用 Form1_paint
.
之外,没有任何东西可以在框外绘制
它与剪辑无关,而与您调用 CreateGraphics()
的时间有关。在创建图形时,窗体没有完全初始化,它使用的大小不正确。
当您使用 CreateGraphics() 或创建 Pen 时,您应该在完成后立即对它们显式 Dispose()。这最好通过 Using 块来完成:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using z As Graphics = CreateGraphics()
Using pen1 = New Pen(Color.Black, 3)
z.DrawLine(pen1, 0, 0, Me.ClientSize.Width, Me.ClientSize.Height)
End Using
End Using
End Sub
不过,一般来说,以这种方式使用 CreateGraphics() 几乎总是不正确的方法。以这种方式绘制的线是临时的。把表格最小化再恢复,线就没有了
我正在尝试熟悉 vb.net 中的图形,并且想在不使用 Form1_Paint
方法,但使用 Button1
然而,这条线只画了大约四分之一,就停止了,如图所示:
我想我需要增加图形对象的剪辑 z
我尝试了以下但它不起作用。我还尝试减小 Clip 的大小并且按预期工作。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
z.Clip.MakeInfinite()
z.DrawLine(pen1, 0, 0, Me.Size.Width, Me.Size.Height)
End Sub
pen1
和z
在程序开始时初始化如下:
Dim z As Graphics = CreateGraphics()
Dim pen1 = New Pen(Color.Black, 3)
我也尝试过为 x2 和 y2 使用不同的设置值,但除了使用 Form1_paint
.
它与剪辑无关,而与您调用 CreateGraphics()
的时间有关。在创建图形时,窗体没有完全初始化,它使用的大小不正确。
当您使用 CreateGraphics() 或创建 Pen 时,您应该在完成后立即对它们显式 Dispose()。这最好通过 Using 块来完成:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using z As Graphics = CreateGraphics()
Using pen1 = New Pen(Color.Black, 3)
z.DrawLine(pen1, 0, 0, Me.ClientSize.Width, Me.ClientSize.Height)
End Using
End Using
End Sub
不过,一般来说,以这种方式使用 CreateGraphics() 几乎总是不正确的方法。以这种方式绘制的线是临时的。把表格最小化再恢复,线就没有了