繁体   English   中英

vb.net mdi儿童标题栏未隐藏

[英]vb.net mdi child title bar not hiding

我在隐藏.NET中MDI父表单中处于最大化状态的MDI子表单的标题栏时遇到问题。

这是我在设计和运行时所拥有的: 在此处输入图片说明

这是我的MDI子窗体的new():

Public Sub New(ByRef pParent As Form)
    MyBase.New()
    Me.MdiParent = pParent
    fParent = pParent
    Me.Text = ""
    Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
    Me.WindowState = FormWindowState.Normal
    Me.MinimizeBox = False
    Me.MaximizeBox = False
    Me.ControlBox = False
    Me.ShowIcon = False
    Me.ShowInTaskbar = False
    Me.SizeGripStyle = Windows.Forms.SizeGripStyle.Hide
    Me.Dock = DockStyle.Fill
End Sub

我试过FormWindowState.MaximizedDockStyle.None但是结果是一样的。

在父容器上,要从子容器更改为另一个容器,请使用以下功能:

Protected Sub SetActiveScreen(ByVal pChildForm As tWizardForm)
    If pChildForm Is Nothing Then Exit Sub
    If fActiveScreen Is pChildForm Then Exit Sub

    Dim hg As New tHourglass
    Try
       fActiveScreen = pChildForm
       fActiveScreen.Show()
       fActiveScreen.BringToFront()
       For Each aForm In MdiChildren
          If aForm IsNot fActiveScreen Then aForm.Hide()
       Next
       fActiveScreen.Execute()
       UpdateCaption()
    Finally
       hg.Dispose()
    End Try    
End Sub

在设计时,我已经设置了父属性IsMdiContainer = True

我在哪里出错或错过了什么? 加上子标题栏上的这种双按钮确实很奇怪。 当我单击最大化按钮之一时,最终得到相同的结果: 在此处输入图片说明

结果标题栏按钮无法单击。

感谢您的任何帮助 !

这是您的确切答案。 它将解决您的问题。

将MenuStrip添加到MDI表单,使其不可见(可见=假)

我通过以下方式工作:

  1. 设置子码头填充
  2. 将子项WindowState设置为Normal(这是神奇的子弹)
  3. 使用显示方法,而不是焦点方法

尝试移动

 Me.MaximizeBox = False

到子窗体的Load事件,这似乎在我的项目中起作用。

请尝试以下设置子窗体。

  Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM