如何让mdi子窗体不能改变大小呢?只随其父窗体大小变化?
子窗体如何能改变大小,特别不好看.所以我想实现,子窗体就在其父窗体中最大化显示,用户无法改变它的大小,如何实现吗?

解决方案 »

  1.   

    去这里http://bingning.net/VB/SOURCE/form/index.html参考一下。
      

  2.   

    在子窗体上放一Timer,在它的Timer事件里限制子窗体的大小.
    父窗体的Resize事件里关闭Timer然后改变子窗体的大小.然后再打开Timer
      

  3.   

    Private Sub MDIForm_Load()
        Form1.Width = Me.ScaleWidth
        Form1.Height = Me.ScaleHeight
    End SubPrivate Sub MDIForm_Resize()
        Form1.Width = Me.ScaleWidth
        Form1.Height = Me.ScaleHeight
    End Sub
      

  4.   

    在设计时,先选择子窗体的 .BorderStyle = 1 ,然后选择 .MinButton = True 。运行时,在父窗体的 Resize() 事件中调整子窗体的大小。
      

  5.   


    这是不行,因为一个窗体下有可能会有很多子窗体,如果在父窗体的resize事件控制子窗体,应该是不行的,因为这将导致所有子窗体全部load,而有些子窗体此时是不应该load的。
      

  6.   

    你不可以“登记”一下,哪些 Load 了、哪些 UnLoad 了?只改变已 Load 的子窗体的大小。
    并且,那些处于最小化状态的窗体还不能直接改变大小呢,你还要先把它的窗体状态改为0,然后改变大小,再恢复到原来的最小化状态。
      

  7.   

    你要让子窗体大小随父窗体的大小变化而变化,不在父窗体的 Resize() 事件中调整子窗体的大小,还能在哪调整?
      

  8.   

    Chen8013 
    举杯邀明月 
    谢谢您的多次回贴指教,但是这样调整后,好象子窗体的界面会死,没有反应了.
    我再试试.试过几次,子窗体都不可用了.
      

  9.   

         Sub Form_Resize ()
             ' Position the scroll bars:
             hscroll1.Left = 0
             vscroll1.Top = 0
             If Picture1.Width > scalewidth Then
                hscroll1.Top = ScaleHeight - hscroll1.Height
             Else
                hscroll1.Top = ScaleHeight
             End If
             If Picture1.Height > hscroll1.Top Then
                vscroll1.Left = scalewidth - vscroll1.Width
                If Picture1.Width > vscroll1.Left Then
                   hscroll1.Top = ScaleHeight - hscroll1.Height
                End If
             Else
                vscroll1.Left = scalewidth
             End If
             hscroll1.Width = scalewidth
             If hscroll1.Top > 0 then vscroll1.Height=hscroll1.Top
             ' Set the scroll bar ranges
             hscroll1.Max = Picture1.Width - vscroll1.Left
             vscroll1.Max = Picture1.Height - hscroll1.Top
             hscroll1.SmallChange = Abs(hscroll1.Max \ 16) + 1
             hscroll1.LargeChange = Abs(hscroll1.Max \ 4) + 1
             vscroll1.SmallChange = Abs(vscroll1.Max \ 16) + 1
             vscroll1.LargeChange = Abs(vscroll1.Max \ 4) + 1
             hscroll1.ZOrder 0
             vscroll1.ZOrder 0
          End Sub
      

  10.   

    所有子窗体一律设置如下属性:
    ControlBox = False
    WindowState = 2 - Maximized