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















 
 
 
 
 
 
 