当前,我通过代码在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()
在网上搜索后,我仍然不清楚执行此操作的正确方法。任何帮助表示赞赏!