我有一个附属表单,我可以在其中输入数据,然后在关闭表单之前保存它并返回使用主表单。 当我重新打开子公司表格时,我看不到我之前输入的数据的变化。 谁能告诉我哪里错了?
MainForm.vb
Public Class Maincls
oTestObj as New Testcls
oTestObj.XYZ = "XYZ"
Private Sub SoftwareSettingsToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SoftwareSettingsToolStripMenuItem.Click
Testcls.tbXYZ.Text = oTestObj.m_XYZ
Testcls.Show()
End Sub
End Class
Form_Testcls.vb
Public Class Testcls
Structure Params
Dim m_XYZ as String
End Structure
Dim oParams as Params
Public Sub New ()
InitializeComponent()
End Sub
Private Sub btnOK_Click(sender As System.Object, e As System.EventArgs) Handles btnOK.Click
XYZ = tbXYZ.Text
Me.Hide()
End Sub
Public Property XYZ() As String
Get
Return Me.oparams.m_XYZ
End Get
Set(ByVal value As String)
Me.oparams.m_XYZ = value
End Set
End Property
End Class
答案 0 :(得分:0)
我认为在Windows窗体中,解决此问题的方法是创建一个静态类并根据您的要求添加属性。然后在关闭表单时填充这些静态属性。现在您可以使用静态数据成员中设置的值,除非您在任何其他事件上更改它们。
编辑:在vb.net中,静态实际上是NonInheritable