0

我有 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 的中心放置了一个图片框。我已经将图片框发送到后面,但是当我打开任何子表单时,我也看到报价上方的图片框。我想在后面显示图片框,而不是在任何子表单上方。

提前致谢!!!

4

1 回答 1

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() 属性。图像在设计时不会显示在表单上,​​但在您运行应用程序时会出现。

于 2013-05-11T08:56:59.177 回答