全面分析VB.NET窗體指針
本文向大家介紹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窗體指針全局化,還是把它以參數(shù)的形式傳遞,都是可行的。然而,你必須根據(jù)項目的需要選擇***方案。當 .NET 項目中只有少數(shù)幾個過程需要訪問特定窗體時,我建議你給這些過程增加一個參數(shù),以在必要時接受VB.NET窗體指針。當你的項目有太多過程需要訪問該窗體時,你就應該考慮設置一個全局VB.NET窗體指針變量。當然了,你***還是考慮調整項目代碼結構,使得真正訪問該窗體的類或者過程只有一個。如果你希望用窗體來顯示登錄信息,則你可以先創(chuàng)建一個類,把窗體實例保存為它的 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
【編輯推薦】