我在vb.net中有一个MDI窗口表单和许多子窗口表单。究竟是什么Mdi表单有一个PictureBox控件。如果我从mdi表单调用子表单,则MDI表单的PictureBox与子表单重叠意味着它隐藏了MDI窗口表单的PictureBox后面的子表单。
如何在Windows窗体后面发送PictureBox?
答案 0 :(得分:1)
这就是我处理这种情况的方式。 由于我使用的是MDI父窗体和其他子窗体,因此我想在MDI父控件不执行任何操作时将Show()显示为图片框(pbImage.Show())。如果我们打开一个新的子窗体,则将Hide()图片框。为我工作。
答案 1 :(得分:0)
您应该知道有关MDI容器表格的一些事实:
表单的客户区由MdiClient
控件填充,该控件托管所有MDI子级。因此,如果您向MDI父级添加Control
,它将位于MdiClient
的前面,因此它将显示在MDI子表单的前面。
您无法向MdiClient
控件添加任何控件。它只允许添加MDI子表单。
要在MDI父级中显示图片,您可以设置BackgroundImage
和BackgrroundImageLayout
,例如:
Dim mdiClient = Me.Controls.OfType(Of MdiClient)().First()
AddHandler mdiClient.Resize, Sub(s, a) mdiClient.Invalidate()
Me.BackgroundImage = My.Resources.SomeImage
Me.BackgroundImageLayout = ImageLayout.Center