Winforms 在MDI窗体中放置图像控件

Winforms 在MDI窗体中放置图像控件,winforms,Winforms,我在mdi的中央放置了一个图像控件。但是当我打开一个子窗体时,窗体窗体会显示在图像控件下面 请帮助???一旦外部窗体是MDI父窗体,mdiclient区域将扩展以填充其他容器未使用的所有空间。因此,您要么需要将图像放在其他位置(例如,停靠在左侧的面板,由拆分器与mdi客户端区域隔开),要么不将图像放在子窗体上。这是mdi窗体在.NET中的工作方式。根据我的专业VB 2005(Wrox)副本,“在VB.NET中,MDI父级可以包含常规窗体可以包含的任何控件。按钮、标签等可以直接放置在MDI表面上。

我在mdi的中央放置了一个图像控件。但是当我打开一个子窗体时,窗体窗体会显示在图像控件下面


请帮助???

一旦外部窗体是MDI父窗体,mdiclient区域将扩展以填充其他容器未使用的所有空间。因此,您要么需要将图像放在其他位置(例如,停靠在左侧的面板,由拆分器与mdi客户端区域隔开),要么不将图像放在子窗体上。

这是mdi窗体在.NET中的工作方式。根据我的专业VB 2005(Wrox)副本,“在VB.NET中,MDI父级可以包含常规窗体可以包含的任何控件。按钮、标签等可以直接放置在MDI表面上。此类控件将显示在MDI客户端区域中显示的任何MDI子窗体前面”(emphasis mine)


我想你要做的是在MDI表单的客户端区域中显示某种徽标?在这种情况下,您需要在窗体的绘制事件中绘制此图,而不是使用图像控件。

解决此问题的一个小方法。

使用图片框以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