当然在你做控件的时候根据 RESIZE 自己调了

解决方案 »

  1.   

    control类和form类好像不太一样,自定义的控件在设计时可以用鼠标缩放,但是在运行时的尺寸比例就不对了。
    下面是我的resize的代码
    '    Dim scaleheight, scalewidth, moveleft, movetop
    '    scaleheight = UserControl.Height / control_height '= UserControl.scaleheight / control_height
    '    scalewidth = UserControl.Width / control_width '= UserControl.scalewidth / control_width
    '    moveleft = scalewidth
    '    frmName.Caption = scaleheight
    '
    '    frmName.Height = frmName.Height * scaleheight
    '    frmName.Width = frmName.Width * scalewidth
    '    'frmName.Left = frmName.Left * moveleft
    '    cmdProperty.Height = cmdProperty.Height * scaleheight
    '    cmdProperty.Width = cmdProperty.Width * scalewidth
    '    cmdProperty.Left = cmdProperty.Left * moveleft
      

  2.   

    加入設計時代碼啊。方法一般為用TAG屬性存下該用戶控件內每人控件的四個點的坐標,然後在RESIZE事件裡面按按後比例各自將其TAG屬性內的數據進行計算得出其最後的坐標即可。
      

  3.   


    Resize 事件
          当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生。(例如,一个窗体被最大化、最小化或被还原。)语法Private Sub Form_Resize( )Private Sub object_Resize(height As Single, width As Single)Resize 事件语法包括下列部分:部分 描述 
    object 一个对象表达式,其值是“应用于”列表中的一个对象。 
    height 指定控件新高度的数。 
    width 指定控件新宽度的数。 
    说明当父窗体调整大小时,可用 Resize 事件过程来移动控件或调整其大小。也可用此事件过程来重新计算那些变量或属性,如:ScaleHeight 和 ScaleWidth 等,它们取决于该窗体的尺寸。如果在调整大小时想要保持图形的大小与窗体的大小成比例,可在一个 Resize 事件中通过使用 Refresh 方法调用 Paint 事件。任何时候只要 AutoRedraw 属性被设置为 False 而且窗体被调整大小,Visual Basic 也会按 Resize 和 Paint 的顺序调用相关的事件。当给这些相关事件附加过程时,要确保它们的操作不会互相冲突。当一个 OLE 容器控件的 SizeMode 属性被设置为 2(自动调大小)时,该控件自动根据所显示的包含于该控件之中的对象的大小来调整其大小。如果所显示的对象的大小发生变化,则该控件自动重调其大小以适应该对象的变化。当这种情况出现时,为该对象调用 Resize 事件会在 OLE 容器控件被重调大小之前发生。height 和 width 部分指示该对象显示的最佳大小(这个尺寸由创建该对象的应用程序决定)。可通过在 Resize 事件中改变 height 和 width 部分的值来按不同的尺寸设定控件的大小。
    Resize 事件示例
    本例在任何调整窗体大小时的时候,都将自动调整一个 TextBox 控件的大小以填充该窗体。要尝试这个例子,可以将代码粘贴到包含 TextBox 的窗体声明部分。 设置 TextBox 控件的 MultiLine 属性为 True,ScrollBars 属性为 3,BorderStyle 属性为 0,然后按F5键并调整窗体大小。Private Sub Form_Load ()
       Text1.Text = ""   ' 清除文本。
    End SubPrivate Sub Form_Resize ()
       Text1.Move 0,0, ScaleWidth, ScaleHeight
    End Sub
      

  4.   

    以后请不要乱贴msdn上的内容,呵呵。
    drk928的想法有道理。