【问题标题】:MDI Form issue VB:NETMDI 表单问题 VB:NET
【发布时间】:2012-10-17 02:45:58
【问题描述】:

今天我的面板控件和 MDI 子窗体有一些问题,我的问题是我无法将面板控件设置为子窗体的后面。 我头晕目眩,试图解决这个问题。

【问题讨论】:

  • 您必须以不同的方式执行此操作。将按钮放在面板中,将面板停靠在表单的边缘之一。

标签: windows vb.net mdi


【解决方案1】:

看起来您已将 Panel 添加到 ParentForm,这样做将保持在最前面。您需要将其分配给 ChildForm。您的其他选择之一是创建一个可停靠面板并将其停靠在您父母的一侧。

看看这些文章

  1. http://bytes.com/topic/visual-basic-net/answers/382474-how-do-you-bring-mdi-child-windows-front-if-mdi-parent-has-controls
  2. http://social.msdn.microsoft.com/Forums/en-AU/winforms/thread/a9682277-d612-41e8-b5c0-44434b0bcb22

根据您的评论,您可以使用设置为 100 毫秒的计时器来执行此类操作

Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
    Panel1.Visible = CheckForMDIChildren()
End Sub

Private Function CheckForMDIChildren() As Boolean
    If Me.MdiChildren.Count > 0 Then
        For Each frm As Form In Me.MdiChildren
            If frm.Visible Then Return False
        Next
    End If
    Return True
End Function

【讨论】:

  • 没错,但我需要将此设置为 MDI 子面板的后面板,因为它是一个快速快捷面板。
  • 它将永远在最前面,我正在寻找参考。我认为您唯一的选择是设置可见性
  • 恐怕每次表单处于活动状态时都必须安排算法隐藏和显示面板的所有内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多