在VB.NET中从另一个MdiChild表单调用MdiChild的正确方法

时间:2019-04-26 08:36:21

标签: vb.net mdichild mdiparent

当前,我通过代码在MdiChild表单本身中声明一个表单,将其定义为MdiChild:

Private Sub form_Load(sender As Object, e As EventArgs) Handles Me.Load
    Me.MdiParent = MainForm     'MainForm is the MdiParent for all
End Sub

我也在使用:

Public Sub New()
    Me.MdiParent = MainForm
    InitializeComponent()
End Sub

两者似乎都以MdiChild形式打开表单,但是两种方法都存在一些问题。

使用Me.Load时,我似乎会出现一些屏幕闪烁(即使使用双缓冲)。

当我使用InitializeComponent()时,从窗体到窗体的过渡似乎更平滑,但是有时从Form2返回到MdiParent容器时,Form1从MdiParent容器中跳出,原因仍然未知。

我调用下一个表单的方式是这样的-我将Hide()作为当前表单,而将Show()作为新表单。当我完成第二种形式时,我然后关闭()第二种形式,并再次显示()第一种形式。

Me.Hide      'Form1
Form2.Show()

然后返回第一个表格

Me.Close      'Form2
Form1.Show

像这样在Form1中调用Form2时,我应该将它声明为MdiChild吗?

Me.Hide      'Form1
Form2.MdiParent = MainForm
Form2.Show()

在网上搜索后,我仍然不清楚执行此操作的正确方法。任何帮助表示赞赏!

0 个答案:

没有答案