如:想循环生成指定数量的按纽,且每个按纽的事件都类似操作

解决方案 »

  1.   

    放一个按钮到窗体上,名称cmd,index设置为0. 
    e.g.
    Private Sub Command1_Click()
    for i=1 to 10
        Load cmd(cmd.UBound + 1)
        cmd(cmd.UBound).Caption = cmd.UBound
        cmd(cmd.UBound).Left = cmd(cmd.UBound - 1).Left + cmd(cmd.UBound - 1).Width + 100
        cmd(cmd.UBound).Visible = True
        cmd(cmd.UBound).ZOrder 
    next
    End Sub
      

  2.   

    窗体上放一个按钮,名称为Command 设置Index=0
    拷如下面代码:Private Sub Command_Click(Index As Integer)
        Dim i As Integer
        
        For i = 1 To 10
            Load Command(i)
            Command(i).Move Command(i - 1).Left, Command(i - 1).Top + Command(i - 1).Height + 100, Command(i - 1).Width, Command(i - 1).Height
            Command(i).Visible = True
            Command(i).Caption = "第" & i & "按钮"
        Next
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        Dim i  As Integer
        
        For i = 1 To 10
            Unload Command(i)
        Next
    End Sub
      

  3.   

    要顺便参考一下这个帖
    http://topic.csdn.net/u/20100302/14/86fcda24-644e-4fe7-8ebd-de2286be4268.html
    关于控件数组的click事件可否分开呢?
      

  4.   

     用VB6实现动态增减控件 用过Internet Explorer收藏夹的朋友都知道,利用鼠标单击时收藏夹会出现,再次单击则收藏夹消失。从编程角度讲,这是个在程序运行阶段动态增减控件的问题。以前,这仅仅是C++之类编程语言的专利。如今,微软在Visual Basic6.0中也新增了这个功能,下面就此举例进行介绍:
      1.新建一个工程,窗体Form1为缺省窗体,Form1的属性项Caption=″动态增减控件的例子″。
      2.加入两个命令按钮(CommandButton),其中:
      Command1的属性项Caption=″增加控件″;
      Command2的属性项Caption=″删除控件″。
      3.加入如下代码,运行该工程,单击″增加控件″则出现新增按钮。若单击″新增按钮″时会出现对话框,表明你触发的是动态增加控件的单击事件。
      Option Explicit
      ′通过使用 WithEvents 关键字声明一个对象变量为新的命令按钮
      Private WithEvents NewButton As CommandButton 
      ′增加控件
      Private Sub Command1_Click()
      If NewButton Is Nothing Then
      ′增加新的按钮cmdNew
      Set NewButton =Controls.Add(″VB.CommandButton″, ″cmdNew″, Me)
      ′确定新增按钮cmdNew的位置
      NewButton.Move Command1.Left + Command1.Width + 240, Command1.Top
      NewButton.Caption = ″新增的按钮″ 
      NewButton.Visible = True
      End If
      End Sub
      ′删除控件(注:只能删除动态增加的控件)
      Private Sub Command2_Click()
      If NewButton Is Nothing Then 
      Else
      Controls.Remove NewButton
      Set NewButton = Nothing
      End If
      End Sub
      ′新增控件的单击事件
      Private Sub NewButton_Click()
      MsgBox ″您选中的是动态增加的按钮!″
      End Sub
      注意:如果你希望添加一个用户控件或任何 ActiveX 控件到您的窗体,必须把这个控件添加到“工具箱”,或者把控件的 License 关键字添加到 Licenses 集合中。而且,你不能选定“工程属性”对话框的“生成” 选项卡上的“删除有关未使用的 ActiveX 控件”选项,否则controls.Add 方法将失败,因为必需的信息已经被丢失。
      

  5.   

    派生新类。
    比如:Dim Newbutton As New CommandButton