【发布时间】:2021-04-02 14:01:15
【问题描述】:
我第一次使用 Visual Studio 和 VB.net。
有人能解释一下在哪里声明一个引用 VB 对象的公共对象吗?
这段代码运行良好:
Public Class Form1
Private ThePen As New System.Drawing.Pen(Color.Red)
Private Sub Line(A As Point, y As Point)
Dim NewGraphic As Graphics = PictureBox1.CreateGraphics()
NewGraphic.DrawLine(ThePen, A, B)
NewGraphic.Dispose()
End Sub
End Class
但我只想公开声明一次
Dim NewGraphic As Graphics = PictureBox1.CreateGraphics()
一开始我尝试声明它,但我的对象PictureBox1似乎还没有加载(所以,无法访问PictureBox1.CreateGraphics())
所以我尝试了
Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
但是我不能在里面声明公共变量:(
【问题讨论】:
-
您根本不必使用
CreateGraphics()。从PictureBox.Paint事件的处理程序调用该代码。修改Line方法以接受 Graphics 对象 (Private Sub Line(g as Graphics, A As Point, B As Point)),然后传递Paint处理程序的PaintEventArgs参数的e.Graphics对象。 (顺便说一句,您没有指定 Point 值的设置位置。此外,您使用的是BPoint,而不是y,它在该方法中不存在)。不要处理您的方法接收到的 Graphics 对象,它会在其他地方处理。
标签: vb.net object global public declare