如何在面板中放置用户控件

时间:2018-10-10 09:38:23

标签: vb.net user-controls instance

我有一个带有面板(panelMain)的窗体(MainForm),其中将动态加载用户控件。

我使用以下命令动态加载了用户控件:

Private Sub MainForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        PanelMain.Controls.Add(ControlDetails.getInstance)
        ControlDetails.getInstance().Dock = DockStyle.Fill
        ControlDetails.getInstance.BringToFront()
End Sub

在ControlDetails.vb内部,我有:

Public Class ControlDetails
      Private Shared instance As ControlDetails

      Public Shared Function getInstance() As ControlDetails

            If (instance Is Nothing) Then
            instance = New ControlDetails()
            End If
            Return instance

End Function

然后,如果我在用户控件内的文本框中键入内容,并使用带有代码Me.Close()的按钮关闭了表单,则当我再次打开表单时,我编写的内容仍保留在文本框中

我正在使用以下方法打开MainForm:

Dim mainF As New MainForm
mainF.ShowDialog(Me)

我想要的是再次打开表单时的外观,我希望它看起来像是第一次打开表单时的样子(texbox上没有文本或之前关闭表单之前所做的其他更改)

我尝试在按钮中使用Me.Dispose()关闭表单,但在showDialog(me)行上却收到一条错误消息,说“ Bunifu_UI_v1.5.3中发生了'System.NullReferenceException类型的未处理的异常” .dll'可能是我安装的bunifu框架中的一个错误,但是Me.Close()有效,所以我目前正在使用它来通过按钮关闭表单。

0 个答案:

没有答案