我遇到了这段代码的麻烦,我不知道搜索这个主题的正确关键字。如果标题不清楚,我很抱歉。
我正在尝试使用“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
看起来text1和text2字符串只是为了在Public Sub Form1_Load
上使用而生成,我怎样才能在Private Sub Button8_Click
上使用它?
答案 0 :(得分: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
通常在将值从一个方法传递到另一个方法时,您可以将它们作为方法参数。但是对于事件处理程序,您并不直接调用处理程序方法。由于处理程序正在响应对象级事件,因此为了共享信息,它应该以对象级状态存储。
答案 1 :(得分: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