Mdiparent,儿童形式

时间:2013-05-11 08:11:20

标签: vb.net mdiparent

我有mdiparent和许多子形式 我打电话给孩子表格如下

     Private Sub tsmQuotation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmQuotation.Click
            If Application.OpenForms().OfType(Of Quotation).Any Then
                 Quotation.WindowState = FormWindowState.Normal
                 Quotation.Focus()
            Else
                 Quotation.MdiParent = Me
                 Quotation.Show()
            End If
     End Sub

我的第一个疑问是:当我宣布此Quotation.MdiParent = Me ...打开表单需要更多时间而不是没有这一行。我怎样才能减少打开表格的时间......或者我做错了什么?

第二个疑问是:我在mdiparent的中心放置了一个图片框。我已经发送了图片框,但是当我打开任何子表单时,我看到配额上方的图片框。我想在后面显示图片框而不是任何子表单。

提前致谢!!!

1 个答案:

答案 0 :(得分:1)

如果没有Quotation.MdiParent = Me,则显示的表单不会是MdiChild。相反,它本身就会显示为正常形式。尝试在屏幕上拖动它,你会发现它并不局限于MdiParent表单。

看看这是否加载得更快,但是:

Private Sub tsmQuotation_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmQuotation.Click
    If Application.OpenForms().OfType(Of Quotation).Any Then
        Dim Q As Quotation = Application.OpenForms().OfType(Of Quotation).First
        Q.WindowState = FormWindowState.Normal
        Q.Activate()
    Else
        Dim Q As New Quotation
        Q.MdiParent = Me
        Q.Show()
    End If
End Sub

对于第二个问题,选择MdiParent表单并设置BackgroundImage()和BackgroundImageLayout()属性。图像不会在设计时显示在表单上,​​但在运行应用程序时它将存在。