Родительские, дочерние формы

У меня есть 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... для открытия формы требуется больше времени, чем без этой строки. Как уменьшить время открытия формы... или я что-то не так делаю?

2-е сомнение: я поместил коробку с картинками в центр родителей. и я отправил окно с изображением на задний план, но тогда тоже, когда я открываю любую дочернюю форму, я вижу окно с изображением над цитатой. Я хочу показать окно с изображением сзади, а не над какими-либо дочерними формами.

Заранее спасибо!!!


person aj1    schedule 11.05.2013    source источник


Ответы (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(). Изображение НЕ будет отображаться в форме во время разработки, но оно будет там, когда вы запустите приложение.

person Idle_Mind    schedule 11.05.2013
comment
Спасибо, ваш ответ решил вторую проблему, но первая проблема все еще существует ... это все еще требует времени. - person aj1; 11.05.2013
comment
Idle _Mind, можете ли вы взглянуть на мой другой вопрос, потому что на него никто не отвечает. " title="дизайнер компоновки отчетов о кристаллах в форме vb net">stackoverflow.com/questions/15619179/ ..если не отчет о кристаллах, есть ли какой-либо другой инструмент, с помощью которого я могу разрешить пользователю изменять расположение элементов управления в отчетах ..Я даже готов заплатить за это..потому что это слишком срочно для меня. - person aj1; 11.05.2013
comment
Загружает ли форма с медленной загрузкой какие-либо данные из базы данных?... или имеет какой-либо значительный код в Load() или Shown()? - person Idle_Mind; 11.05.2013
comment
нет, он не загружает никаких данных. Это заставляет форму отображаться как патчи, а затем формировать .... это занимает больше времени, когда я запускаю приложение в первый раз после запуска компьютера. - person aj1; 11.05.2013