使用MdiParent的ShowDialog问题VB:NET

时间:2012-02-20 00:25:07

标签: vb.net forms mdiparent

实际上我正在尝试显示和对话到父表单中,参考示例是:

Parent      Parent_child    dialog
Main_form   new_invoice     new_invoicedialog

我试过这段代码但它说:

Private Sub invoice_new_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyUp

            With new_invoicedialog
                .MdiParent = Main_Form
                .Owner = Me 'invoice_new
                .StartPosition = FormStartPosition.CenterScreen
                .ShowDialog()
            End With

End Sub

不是顶级表单的表单不能显示为模式对话框。在调用showDialog之前从任何父表单中删除表单。

2 个答案:

答案 0 :(得分:3)

我认为如果你删除.MdiParent = Main_Form它就可以了。您正在尝试显示模式对话框,这与MDI表单不同。

答案 1 :(得分:0)

我知道这已经很晚了,但是对于可能遇到这种情况的其他人来说,正如我在研究这个问题时所做的那样。你可以这样做:

newTransaction.MdiParent = Me
Me.Enabled = False
newTransaction.Show()
Me.Enabled = True

它允许您仍然作为孩子运行格式,但关闭父窗体,直到孩子关闭,然后它再次可用。