如何使用带有MDI格式的PictureBox?

时间:2018-01-22 17:47:10

标签: vb.net winforms picturebox mdichild mdiparent

我在vb.net中有一个MDI窗口表单和许多子窗口表单。究竟是什么Mdi表单有一个PictureBox控件。如果我从mdi表单调用子表单,则MDI表单的PictureBox与子表单重叠意味着它隐藏了MDI窗口表单的PictureBox后面的子表单。

如何在Windows窗体后面发送PictureBox?

This image describes the problem

2 个答案:

答案 0 :(得分:1)

这就是我处理这种情况的方式。 由于我使用的是MDI父窗体和其他子窗体,因此我想在MDI父控件不执行任何操作时将Show()显示为图片框(pbImage.Show())。如果我们打开一个新的子窗体,则将Hide()图片框。为我工作。

答案 1 :(得分:0)

您应该知道有关MDI容器表格的一些事实:

  • 表单的客户区由MdiClient控件填充,该控件托管所有MDI子级。因此,如果您向MDI父级添加Control,它将位于MdiClient的前面,因此它将显示在MDI子表单的前面。

  • 您无法向MdiClient控件添加任何控件。它只允许添加MDI子表单。

  • 要在MDI父级中显示图片,您可以设置BackgroundImageBackgrroundImageLayout,例如:

    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