2015-10-17 49 views
0

我遇到了此代碼的問題,我不知道用於搜索此主題的正確關鍵字。如果標題不清楚,我很抱歉。如何將字符串調用到其他元素的代碼

我想通過使用'Dim'句子並用按鈕調用它,但它不工作,以創建兩個不同的字符串。

Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    If CheckBox1.Checked = True Then 
     Dim text1 As String = "This is message number 1" 
    End If 

    If CheckBox2.Checked = True Then 
     Dim text2 As String = "This is message number 2" 
    End If 
End Sub 

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 
    MsgBox(text1) 
End Sub 

好像產生只是對Public Sub Form1_Load使用文本1和文本字符串,我該如何使用它Private Sub Button8_Click

+0

參見[適用範圍在Visual Basic(https://msdn.microsoft.com/en-us/library/1t0wsc67.aspx) – Plutonix

回答

0

使變量類級成員:

Private text1 As String 
Private text2 As String 

Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    If CheckBox1.Checked = True Then 
     text1 = "This is message number 1" 
    End If 

    If CheckBox2.Checked = True Then 
     text2 = "This is message number 2" 
    End If 
End Sub 

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 
    MsgBox(text1) 
End Sub 

通常,一個方法將值傳遞給另一個的時候,你會令他們方法的參數。但在事件處理程序的情況下,您並不是直接調用處理程序方法。由於處理程序正在響應對象級別的事件,爲了共享信息,它應該存儲在對象級別的狀態中。

+0

什麼如果我沒有一個字符串,但我有類似的東西:'昏暗的設置爲新的Setting.IniFile'我怎麼能從一個不同的私人小組像我的問題那樣調用它? –

+0

你能幫我解釋一下嗎? –

+0

@ KING-MOD:爲什麼會有所不同? '字符串'是一種類似於其他類型的字符串。無論變量需要什麼類型,都可以使用該類型。來自其他事件處理程序的訪問將是相同的。 – David

0

您需要Form1聲明一個私有變量:

Private Text As String = "" 

然後在事件中,相應地更改的Text值。

Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
If CheckBox1.Checked = True Then 
    Text = "This is message number 1" 
End If 

If CheckBox2.Checked = True Then 
    Text = "This is message number 2" 
End If 
End Sub 
在點擊按鈕

最後,

Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 
MsgBox(Text) 
End Sub 
相關問題