Vb.net使用Public Sub打开MDI Child的实例

时间:2015-09-24 00:31:15

标签: vb.net mdichild mdiparent

我正在尝试通过在一行中创建Public Sub调用来减少代码行。但是form.MdiParent = Me会生成错误

frmParatemers是一个Mdi儿童形式。 frmMain是MDI父表格。

来自frmMain表格

Dim MyCtrl As MenuClickOperations    
MyCtrl.showChildDialog(New frmParameters)

这是我的Class MenuClickOperations

Public Sub showChildDialog(ByVal form As Form)
    Dim form2 As Form
    For Each form2 In frmMain.MdiChildren
        form2.Close()
    Next
    form.StartPosition = FormStartPosition.CenterScreen
    form.MinimizeBox = False
    form.MaximizeBox = False
    form.MdiParent = Me
    form.Show()
End Sub

帮帮我..谢谢

2 个答案:

答案 0 :(得分:1)

您应该将form.MdiParent = Me替换为form.MdiParent = formInstance。您可以使用frmMain或frmMain的实例(如果不同)。如果从frmMain调用showChildDialog,则可以在调用中使用Me将frmMain实例作为参数传递。

答案 1 :(得分:0)

在frmMain

Dim MyCtrl As MenuClickOperations    
MyCtrl.showChildDialog(New frmParameters, Me)

这是我的Class MenuClickOperations

Public Sub showChildDialog(ByVal form As Form, ByVal Itself As Control)
Dim form2 As Form
For Each form2 In frmMain.MdiChildren
    form2.Close()
Next
form.StartPosition = FormStartPosition.CenterScreen
form.MinimizeBox = False
form.MaximizeBox = False
form.MdiParent = Itself
form.Show()
End Sub