Vb.net试图关闭在面板中打开的表单。但是在关闭时,父级会完全关闭/隐藏

时间:2018-08-29 11:24:11

标签: vb.net

我尝试了Google上的所有选项。但是它们只显示form.Close或form.Hide每个循环。我还实现了以下相同的循环:-
(我正在将表单添加到面板(Panel_Details_Container)

    For Each form_obj In Panel_Details_Container.Controls.OfType(Of Form).ToList()
        form_obj.Close()
    Next
    Try
        '-----------------------------------------------------------------------------------------------
        Me.Cursor = Cursors.WaitCursor
        '-----------------------------------------------------------------------------------------------
        Dim Form_DE_Details_Obj As New Form_DE_Details()
        '-----------------------------------------------------------------------------------------------
        Form_DE_Details_Obj.ControlBox = False
        Form_DE_Details_Obj.Text = String.Empty
        '-----------------------------------------------------------------------------------------------
        Form_DE_Details_Obj.TopLevel = False
        '-----------------------------------------------------------------------------------------------
        Form_DE_Details_Obj.TextBox_Selected_Unique_ID.Text = Selected_Unique_ID.ToString()
        Form_DE_Details_Obj.TextBox_Selected_Imp_ID.Text = Selected_IMP_ID.ToString()
        '-----------------------------------------------------------------------------------------------
        Form_DE_Details_Obj.WindowState = FormWindowState.Normal
        Form_DE_Details_Obj.StartPosition = FormStartPosition.WindowsDefaultLocation
        '-----------------------------------------------------------------------------------------------
        Me.Cursor = Cursors.Default
        '-----------------------------------------------------------------------------------------------
        Form_DE_Details_Obj.Visible = True
        Panel_Details_Container.Controls.Add(Form_DE_Details_Obj)
        Form_DE_Details_Obj.Show()
        '-----------------------------------------------------------------------------------------------
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
    '-----------------------------------------------------------------------------------------------
    Me.Cursor = Cursors.Default
    '-----------------------------------------------------------------------------------------------

我的问题:-
 1. .Close适用于所有控件较少的表单。
 2.这种特殊形式的控件很多,每20行:-7个ComboBox,3个TextBox,3个复选框,1个按钮。那有什么记忆问题吗?关闭并立即重新加载表单实例,父表单会自动关闭吗?
 3.我确认,只有通过顺利通过的其他表格,并且每当称为该表格的父表格都被关闭时,这个表格才是问题所在。
 4.在标题中,我写了close / hide,因为我不知道父窗体是关闭还是隐藏。当父窗体关闭/不可见后,等待鼠标光标运行或断点处的进程在代码侧停止。但是父级以及新创建的表单都完全不可用。
(这些是我要放置的一些技巧,自整周以来我一直在尝试这些技巧)

代码用途:-
 1.许多控件保存在一个窗体上。并在需要时适当     仅加载对该模块具有受限控件的表单。
 2.由于将控件分为其他单独的形式,因此减少了很多内存。

我的解决方案已解决:-
 1.已尝试。隐藏。但是,这每次都会重新加载一个新的表单对象实例,并且表单的新实例及其所有对象都在内存中。我通过在from_obj.Hide()处设置断点并每次在循环中添加新的表单实例计数来进行测试。
 2.。处置也没有帮助。
 3.我尝试了Application.DoEvents(检查它是否需要太多时间来关闭表单资源)。但是没有解决方案。

非常感谢大家。

0 个答案:

没有答案
相关问题