Размещение управления изображением в форме MDI - PullRequest
2 голосов
/ 12 июня 2009

Я поместил элементы управления изображением в центре MDI. Но когда я открываю дочернюю форму, форма формы появляется под элементом управления изображением.

Пожалуйста, помогите ???

Ответы [ 3 ]

1 голос
/ 27 октября 2011

Небольшая идея для решения этой проблемы.

Используйте графическое окно, чтобы показать свое изображение в форме MDI, и попробуйте следующий код:

Private Sub MDIFORM_MdiChildActivate(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MdiChildActivate

    Dim cnt As Integer = 0
    For Each frm As Form In My.Application.OpenForms
        cnt += 1
    Next
    If cnt > 1 Then
        Me.PictureBox1.Hide()
    Else
        Me.PictureBox1.Show()
    End If
End Sub
0 голосов
/ 13 июня 2009

Так работают формы MDI в .NET. Согласно моей копии Professional VB 2005 (Wrox), «в VB.NET родительский объект MDI может содержать любой элемент управления, который может содержать обычная форма. Кнопки, метки и т. П. Можно размещать непосредственно на поверхности MDI. Такие элементы управления будут отображаться перед любыми дочерними формами MDI, которые отображаются в клиентской области MDI"(выделено мной)

Я представляю, что вы пытаетесь сделать, чтобы какой-то логотип появился в клиентской области в форме MDI? В этом случае вам нужно будет нарисовать это в событии Paint формы, а не использовать элемент управления Image.

0 голосов
/ 13 июня 2009

Как только внешняя форма станет MdiParent, область mdiclient расширится, чтобы заполнить все пространство, не используемое другими контейнерами. Поэтому вам нужно либо поместить изображение в другое место (например, панель, закрепленную слева, отделенную разделителем от клиентской области mdi), либо не помещать изображение в дочерние формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...