1。放上滚动条,其Visible属性设为False
2.自己在程序中计算,当动态生成的控件的Top+Height属性大于Form的Height时,算出垂直滑动条的Max值并赋给Max属性,再设Visible属性设为True
3.对滚动条的Change事件进行编程。控制显示对应的控件
以上是大致思路,如须具体程序可[email protected]

解决方案 »

  1.   

    1)使用框架控件,控件动态生成在框架上;在form上建立滑动条控件,初始为不可视
    2)当控件增多,框架高度大于form,一部分控件没显示时,滑动条为可视,按动滑动条时,在滑动条事件中反方向移动框架位置,看起来好像是一个个控件翻滚了出来。要点:
        不要复杂地考虑form翻滚,框架控件的翻滚就能简单解决问题。
        本方法在vb6上测试通过
      

  2.   

    mafangsan的回复有一点问题:窗口没法这么简单地上下滚动,否则连窗口标题都没了:)
      

  3.   

    欢迎访问 http://simideal.top263.net/
    《在 VB 中创建独立控制界面的 ActiveX Dll 部件》
    (http://simideal.top263.net/Txt/EasyView.txt)
    摘要:
    ....
    例1:使用过 Delphi 和 PB 的人应该知道,她们的 Form 和 Window 不需编程,即可实现滚动窗口。而在VB 中要实现滚动窗口则需要编写一些代码了,可参阅 MSDN:
    《Scroll Bar 控件方案:创建可滚动的图形视口》,现将其加工移植为 ActiveX Dll
    部件:
        创建 ActiveX Dll(命名为: EasyViews )工程,并在类模块 (命名为:ScrollView) 中添加如下
            代码:(可在 http://simideal.top263.net/Zip/EasyView.exe 下载例程)
    ....
      

  4.   

    看一下VB Sample 中 frmDataControl是怎么作的。