问题描述
我一直在这里寻找解决方案,但是它们似乎与我遇到的情况有所不同。 我有一个MDIMain.frm,我有它的“ IsMdiContainer = True”。我有另一种形式,其中设置objForm1.MdiParent = MDIMain,显示objForm1.Show和MDIMain。但是唯一出现的是MDIMain,它完全是空的。
MDIMain应该完全是空的,其设计是要交换4种“子”形式中的任何一种。 我从VS.2005运行了VB6到VB.Net转换工具,以将项目从一种语言“移植”到另一种语言。当然有很多问题,但是我正在运行程序,代码的初始部分似乎还可以。我现在看到的只是这个MDI父/子问题。该程序最初不会打开主要的MDI表单,而是先打开其他一些表单,然后再打开具有正确的子级的主要MDI表单。
我找到了一个非常简单的MDI父/子示例https://www.oreilly.com/library/view/programming-visual-basic/0596000936/ch04s04.html,可以使之工作。
在“子级”形式的New()中,此代码来自转换器:
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeComponent()
'This form is an MDI child.
'This code simulates the VB6
' functionality of automatically
' loading and showing an MDI
' child's parent.
Me.MDIParent = UniProg.MDIMain
UniProg.MDIMain.Show
Form_Initialize_renamed()
End Sub
哪种看起来还可以,将孩子的父母设置为项目的MDI表单。然后显示MDI表单。这里没有看到,但是MDIMain.Load被称为a
的副作用 Col_Plus_Calib.Add(MDIMain.UC_Status)
打电话。这是我在MDIMain_Load例程中放置断点后从Call堆栈中看到的内容。然后我对MDIMain_Load例程进行了硬编码
frmPlus.MdiParent = Me
frmPlus.Show()
显示子窗体。
其中一项建议评论了这些操作的顺序,因此可能就是问题所在。但我对这些细节感到困惑。那么也许对象的创建顺序不正确或根本没有创建?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)