现在有N个Command按钮,想显示在窗体的某一部分,比如右面,占半个窗体,但太多需要垂直滚动条,请问用什么做容器,怎么加?

解决方案 »

  1.   

    我一般习惯用Picture做容器,需要放两层:
    画一个PictureBox1作为外层容器,然后在这个PictureBox1里边再画个PictureBox2作为内层容器,你说的按钮都放在PictureBox2上面。最后在PictureBox1旁边画一个垂直和水平滚动条,然后在滚动条的Change事件中改变PictureBox2的Top和Left的属性就好了.具体代码下面有一些;
    http://www.cnw3.org/smth/VisualBasic/Catalog/VBSkill/00000033.htm
    http://www.shineblog.com/user1/13213/archives/2005/124111.shtml
      

  2.   

    就想找个这样的例子,谢谢你了,不过有个地方不太明白为什么PictureBox2只要添加在PictureBox1里面,默认就是在PictureBox1里面,而不会超出,我感觉这个是最关键的,难道VB就这么智能??如果我想用代码控制某一个控件是属于哪个容器里面的,要怎么写呢?
      

  3.   

    PictureBox、Frame等控件都比较适合做容器。如果是在设计模式下,直接往上面拖控件就可以了。如果想在运行状态下动态加控件,一般有两种做法:一是用Controls.Add动态创建控件,比如下面的代码就为容器图片框Picture1创建了一个按钮控件:
    Dim oCtrl As Object
    Set oCtrl = Controls.Add("VB.CommandButton", "Button1", Picture1)
    oCtrl.Visible = True二是用控件数组,希望添加控件的时候就Load进来。