Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net MDI子项仅在Windows状态最大化时可见_Vb.net_Size_Zero_Formborderstyle - Fatal编程技术网

Vb.net MDI子项仅在Windows状态最大化时可见

Vb.net MDI子项仅在Windows状态最大化时可见,vb.net,size,zero,formborderstyle,Vb.net,Size,Zero,Formborderstyle,我为我的mdi孩子做了一个自定义边框。 Mdi子窗体属性: FormBorderStyle=无 Controlbox=False Text=“” WindowState=最大化 首先,当我将Windowstate的属性设置为Normal时,我的mdi子对象不会惊吓,我猜它的大小是0;那么0。 我尝试在Form_Load方法中设置大小,但仍然没有改变。 当我将FormBorderStyle更改为FixedSingle时,我可以看到非常小的表单,只有足够的空间双击标题栏。然后形式真的最大化了 我

我为我的mdi孩子做了一个自定义边框。 Mdi子窗体属性:

  • FormBorderStyle=无
  • Controlbox=False
  • Text=“”
  • WindowState=最大化
首先,当我将Windowstate的属性设置为Normal时,我的mdi子对象不会惊吓,我猜它的大小是0;那么0。 我尝试在Form_Load方法中设置大小,但仍然没有改变。 当我将FormBorderStyle更改为FixedSingle时,我可以看到非常小的表单,只有足够的空间双击标题栏。然后形式真的最大化了

我只是不明白了,这太让人困惑了。 由于WindowsState是最大化的,我不能使用函数在屏幕上拖动窗体,因为它认为它是最大化的

您已经编写了“WindowsState=Maximized”。
也许正因为如此,只有当父窗体最大化时,您才能看到MDI窗体。

我建议您编写“WindowState=Normal”,并在表单加载中编写“MDIForm.Size=ParentForm.Size”或(类似的内容)。

尝试此代码-保证工作:

Public frmContainer As FormContainer
Public frmChild As FormChild

Public Sub OpenfrmChild()
    If Not IsNothing(frmChild) AndAlso frmChild.Visible = False Then 'This applies after form has been closed
        frmChild = Nothing '(frmChild does not test as nothing after being closed)
        frmChild = New FormChild
        frmChild.MdiParent = frmContainer
        frmChild.Show()
    ElseIf IsNothing(frmChild) Then 'This applies the first time form is opened
        Try
            frmChild = New FormChild
            frmChild.MdiParent = frmContainer
            frmChild.Show()
        Catch ex As Exception
            ErrorMsg(ex.Message() & "Description: " & ex.ToString)
        End Try
    Else 'This applies if form is visible and user clicks the button on FormChild again
        frmChild.BringToFront()
    End If
    frmChild.WindowState = FormWindowState.Maximized
    frmChild.Dock = DockStyle.Fill
 End Sub

这些属性对于MDI子窗口无效,它必须具有可调整大小的边框。Winforms忘记抛出异常。