要求生成的按钮就像电影院的座位一样排列 谁能帮帮我 谢谢了

解决方案 »

  1.   

    给个例子你看看:
        先在窗体上放置一个按钮cmd ,index 为0
        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 0
      

  2.   

    按钮像电影院的座位?太多了吧。
    VB可以使用三种办法动态加载或创建储如按钮的控件。
    一是使用控件数组,代码楼上已给出。
    二是使用窗体的Controls.Add方法,CSDN里有很多现成代码。
    三是使用CreateWindow或CreateWindowEx之类的API创建。
      

  3.   

    '先放一个Command1,将索引设0
    Private Sub Form_Load()
    For I = 1 To 19
    Load Command1(I)
    Command1(I).Visible = True
    Command1(I).Left = Command1(I - 1).Left + Command1(I).Width + 20
    Command1(I).Top = Command1(I - 1).Top
    If I Mod 5 = 0 Then
    Command1(I).Left = Command1(I - 5).Left
     Command1(I).Top = Command1(I - 1).Top + Command1(I - 1).Height + 20
     End If
     Next
    End Sub
      

  4.   


    '先新建一个 CommandButton 控件 默认名为 Command1
    '复制它然后粘贴,选择是。然后把粘贴进来的新控件删掉不要了。
    Option ExplicitPrivate Sub Command1_Click(Index As Integer)
        MsgBox "Command1(" & Index & ")"
    End SubPrivate Sub Form_Load()
        Dim i As Integer
        For i = 1 To 19
            Load Command1(i)
            Command1(i).Caption = "Command" & i + 1
            Command1(i).Left = Command1(0).Left + Command1(0).Width * (i Mod 4)
            Command1(i).Top = Command1(0).Top + Command1(0).Height * (i \ 4)
            Command1(i).Visible = True
        Next i
    End Sub
      

  5.   

    生成一个的代码如下:
    Private Sub Form_Load()
        Dim btn As CommandButton
        Set btn = Form1.Controls.Add("VB.CommandButton", "Button")
        btn.Visible = True
    End Sub
    你要生成多个,简单,定义一个按钮数组即可,只需要对每个按钮的位置做出赋值即可。具体代码如下:
    Private Sub Form_Load()
        Dim btn(10) As CommandButton
        Dim I As Integer
        For I = 0 To 9
            Set btn(I) = Form1.Controls.Add("VB.CommandButton", "Button" & CStr(I))
            btn(I).Width = 1000
            btn(I).Height = 500
            btn(I).Caption = "Button" & CStr(I)
            btn(I).Left = 5 + I * btn(I).Width
            btn(I).Visible = True
        Next I
    End Sub