本文向大家介绍VB.NET窗体指针,可能好多人还不了解VB.NET窗体指针,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。
VB.NET窗体指针在项目中的传递
除了把窗体实例全局化以外,你还可以把VB.NET窗体指针保存在变量中传递给需要访问该窗体的例程。假设你有一个窗体 Form1,并希望在点击 Form1 中某个按钮 (Button1) 时打开另第二窗体 Form2 ,然后在点击第二窗体 Form2 中的另一个按钮 (Button2) 时进行某项计算。你可以把整个代码都写在 Form1 中,即:
- Public Class Form1
- Inherits System.Windows.Forms.Form
- Dim myForm2 As Form2
- Private Sub Button1_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles Button1.Click
- myForm2 = New Form2()
- myForm2.Show()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, _
- ByVal e As System.EventArgs) Handles Button2.Click
- Calculations.CompoundInterestCalc(myForm2)
- End Sub
- End Class
无论是把VB.NET窗体指针全局化,还是把它以参数的形式传递,都是可行的。然而,你必须根据项目的需要选择***方案。当 .NET 项目中只有少数几个过程需要访问特定窗体时,我建议你给这些过程增加一个参数,以在必要时接受VB.NET窗体指针。当你的项目有太多过程需要访问该窗体时,你就应该考虑设置一个全局VB.NET窗体指针变量。当然了,你***还是考虑调整项目代码结构,使得真正访问该窗体的类或者过程只有一个。如果你希望用窗体来显示登录信息,则你可以先创建一个类,把窗体实例保存为它的 Shared 类成员,然后添加一个 Shared 方法 WriteToLogWindow 来完成实际的窗体访问。于是,项目中的任何代码只需调用此 WriteToLogWindow 方法就能间接访问显示登录信息的窗体了:
- Public Class Log
- Private Shared m_LogForm As Form2
- Public Shared Property LogForm() As Form2
- Get
- Return m_LogForm
- End Get
- Set(ByVal Value As Form2)
- m_LogForm = Value
- End Set
- End Property
- Public Shared Sub WriteToLogWindow(ByVal Message As String)
- Dim sb As New _
- StringBuilder(m_LogForm.txtLogInfo.Text)
- sb.Append(Environment.NewLine)
- sb.Append(Message)
- m_LogForm.txtLogInfo.Text = sb.ToString()
- End Sub
- End Class
【编辑推荐】