怎样实现当窗体的大小变化时控件的位置和大小也做相应的变化啊  谢谢各位大侠:)

解决方案 »

  1.   

    要么在form-resize事件里手动改,
    要么换.net,
    delphi也可以
      

  2.   

    处理form_resize事件或使用第三方控件
      

  3.   

    改变窗体大小时,控件的大小随之改变我们在设计窗体时,放置了一些可视的控件,比如Label,CommandButton,TextBox等等.当然在设计时大小位置都比较协调,但是一旦到了运行时,用户改变了窗体的大小,而我们的控件却不随着窗体大小的改变而改变,特别是用户最大化窗体时,经常出现许多控件仍然挤在窗体左上角的现象,看着很不舒服......那么,现在,如何来解决这个问题呢?当然是捕捉Form的Resize事件!下面是具体的代码:
    ’下面两句话放在Form的"通用"中声明Dim FrmW As Single '存放改变前的窗体的宽度
    Dim frmH As Single '存放改变前的窗体的高度Private Sub Form_Load()
    If WindowState <> vbMinimized Then
       FrmW = Me.Width
       frmH = Me.Height
       '上面两句是初始化模块变量
    End If
    End SubPrivate Sub Form_Resize()
    If FrmW = 0 Or frmH = 0 Then Exit SubDim MyCon
    Dim sig1 As Single, sig2 As Single
    sig1 = Me.Width / FrmW
    sig2 = Me.Height / frmH
    For Each MyCon In Me.Controls
        
            With MyCon
                .Left = Int(.Left * sig1)
                .Top = Int(.Top * sig2)
                .Width = Int(.Width * sig1)
                .Height = Int(.Height * sig2)
            End With
        
    Next MyConFrmW = Me.Width
    frmH = Me.HeightEnd Sub
    如果,你把上述代码加到你的窗体代码中,你会发现改变了窗体大小后,窗体上的可视控件的大小和位置也会相应的变化。
      

  4.   

    使用move啊,把move是数值分别设为屏幕的一定比例就可以了
      

  5.   

    我有很好的控件,需要的话给我写信,我免费提供控件,如需要源代码......
    MAILTO:[email protected]