子窗体设计
设置好主窗体之后,子窗体的显示也是有问题的,在MDI窗体上显示的MDIchild窗体是一条线,在菜单栏的下方,可以通过拉动,来把它拉出来,这样是很不方便的。
解决办法,设置MDIchild窗体的borderstyle属性为1
1——fixedsingle有最小化和最大化固定单边框。
这样就可以显示出来子窗体了,但是这个窗体无法调整大小,如果把它的maxbutton和minbutton属性设置为true的话,只能使用最大化和最小化按钮才可以改变窗体的大小。
还有就是可以把子窗体的borderstyle属性设置为2,然后通过在子窗体的load事件中添加,设置该窗体的高和宽的属性值,或者直接在属性窗口中直接自定义它的大小即可,不过这样的话更具子窗体显示内容得找到适合的高度和宽度,没有手动绘制的方便。
子窗体的位置问题,你会发现加载出来的子窗体都位于MDI窗体的左上角位置,虽然可以手动拖动它的位置,但是很不方便,如果在子窗体的属性窗口中设置startupposition中设置它的属性,则会报错。
在代码窗口中改变该属性值,也会报错都行不通,解决办法,使用最简单的语句,在子窗体的from_load事件中添加代码
Private Sub form_load()
Me.Top = (Screen.Height - Me.Height) / 2
Me.Left = (Screen.Width - Me.Width) / 2
End Sub
子窗体的最小化问题,给的机房每当打开一个窗体之后,上一个子窗体会自动最小化到主窗体的下方,参考晓东的博客,通过一个判断对非活动窗体进行处理。
Private Sub form_deactivate()
If Me.WindowState <> 1 Then
Me.WindowState = 1
End If
End Sub
在子窗体中添加如上代码,则每当打开一个窗体时上一个窗体就会自动的最小化,而且从主窗体的左下角开始依次往右排列。