全面分析VB.NET窗體指針
本文向大家介紹VB.NET窗體指針,可能好多人還不了解VB.NET窗體指針,沒有關(guān)系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
VB.NET窗體指針在項(xiàng)目中的傳遞
除了把窗體實(shí)例全局化以外,你還可以把VB.NET窗體指針保存在變量中傳遞給需要訪問該窗體的例程。假設(shè)你有一個窗體 Form1,并希望在點(diǎn)擊 Form1 中某個按鈕 (Button1) 時打開另第二窗體 Form2 ,然后在點(diǎn)擊第二窗體 Form2 中的另一個按鈕 (Button2) 時進(jìn)行某項(xiàng)計算。你可以把整個代碼都寫在 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窗體指針全局化,還是把它以參數(shù)的形式傳遞,都是可行的。然而,你必須根據(jù)項(xiàng)目的需要選擇***方案。當(dāng) .NET 項(xiàng)目中只有少數(shù)幾個過程需要訪問特定窗體時,我建議你給這些過程增加一個參數(shù),以在必要時接受VB.NET窗體指針。當(dāng)你的項(xiàng)目有太多過程需要訪問該窗體時,你就應(yīng)該考慮設(shè)置一個全局VB.NET窗體指針變量。當(dāng)然了,你***還是考慮調(diào)整項(xiàng)目代碼結(jié)構(gòu),使得真正訪問該窗體的類或者過程只有一個。如果你希望用窗體來顯示登錄信息,則你可以先創(chuàng)建一個類,把窗體實(shí)例保存為它的 Shared 類成員,然后添加一個 Shared 方法 WriteToLogWindow 來完成實(shí)際的窗體訪問。于是,項(xiàng)目中的任何代碼只需調(diào)用此 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
【編輯推薦】