0
我有一個子窗體,可以在關閉窗體並返回主窗體之前輸入數據並將其保存。 當我重新打開子表格時,我看不到前面輸入的數據發生變化。 任何人都可以告訴我我錯了嗎?Windows窗體關閉後刪除窗體數據
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
您創建窗體的新實例,應該像你。是的,這個新實例不記得舊的那個樣子。你必須幫忙。 –
假設我打開表格Testcls並進行更改並單擊確定按鈕,然後重新打開表格Testcls,所做的更改未以 的形式顯示。方法SoftwareSettingsToolStripMenu_Click中的對象OTestcls不包含m_XYZ的更新值。 你能告訴我如何更新方法SoftwareSettingsToolStripMenu_Click中的更改並將它們提供給文本框? 什麼時間點我應該創建另一個對象,我該在哪裏做? 謝謝 –
快速和骯髒的解決方案可能會將'Testcls.Show()'更改爲'oTestObj.Show()'這將只是重新顯示相同的形式。但是您應該創建一個新窗體並傳入包含要顯示的值的對象。當表單關閉時,將值保存到對象中。 – endofzero