我以这种方式将两个字符串声明为我的主要形式:
Public Shared SerNum As String = vbNullString
Public Shared SKey As String = vbNullString
然后我给他们一些价值。之后,我打开另一个表单,尝试从两个变量中获取值,但只有SerNum
保留了他的值,SKey
结果为Nothing
。
我反复检查了我的代码,但我没有找到这种情况发生的原因 第二种形式在给出价值后立即显示 我可以检查什么来查找错误?
目前我通过使用Public Shared Dictionary(of String, String)
并将两个字符串放入其中来解决,但我想了解我错在哪里。
修改
我发现了错误:SKey
也被声明为我的sub
,因此该值未分配给Public Shared variable
,而是分配给local variable
。
我以为我曾评论过#39;那一排......
答案 0 :(得分:0)
我有一个从其他形式加入你的变量的命题: 在From main的名字中,“From1”必须如下:
Public Class Form1
Public SerNum As String = vbNullString
Public SKey As String = vbNullString
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim fr As New Form2(Me)
SerNum = "ValueNum"
SKey = "ValueKey"
fr.Show()
End Sub
End Class
来自“Form2”的借调:
Public Class Form2
Dim fr As New Form1
Public Sub New(fr As Form1)
InitializeComponent()
Me.fr = fr
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MsgBox(fr.SKey)
MsgBox(fr.SerNum)
End Sub