0

我有一个辅助表单,我可以在其中输入数据,然后在关闭表单并返回使用主表单之前将其保存。当我重新打开附属表格时,我看不到我之前输入的数据的变化。谁能告诉我我错在哪里?

 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
4

1 回答 1

0

我认为在 Windows 表单中,解决此问题的方法是创建一个静态类并根据您的要求添加属性。然后在关闭表单时填充这些静态属性。现在您可以使用静态数据成员中设置的值,除非您在任何其他事件上更改它们。

编辑:在 vb.net 中,静态实际上是NonInheritable

于 2014-10-17T12:05:17.583 回答