none
vb.NET 生成按钮 RRS feed

答案

  • 你好

    或者可以參考以下的CODE 看看能不能幫助明白建做DYNAMIC BUTTON 的概念

     Public Sub GenerateDynamiceButton()
            '建立 坐標位置的變數, 方便一會兒安排 自動生產的button 的位置
            Dim y As Integer = 15
            Dim x As Integer = 0

            ' 用for loop 來建立 這些button 做 18隻button
            For ButtonIndex As Integer = 0 To 17

                ' 建造新的 button
                Dim MyButton As New Button
                '設定這新的button 的闊度
                MyButton.Width = 80
                '設定這新的button 的高度
                MyButton.Height = 20

                '我們暫定每行有4個BUTTON, 當每行有多個4個BUTTON 時重設行距, 令到下一行的和這一行的距離有10 個PIXEL
                ' 和重設x 坐標` = 0, 令到位置由頭開始

                If ButtonIndex Mod 4 = 0 Then
                    '設定 TOP 的 坐標位置令他可以和上一排的有10個PIXEL 的距離
                    y += MyButton.Height + 10
                    x = 0
                End If

                '設定文字 和 位置
                ' Set the text and set its top and left based on its dimensions and count
                MyButton.Text = "My Button" & ButtonIndex
                '設定 TOP 的 坐標位置
                MyButton.Top = y
                '下面的CODE 可以令到這個BUTTON 和另一個BUTTON 有5個PIXEL 的距離
                MyButton.Left = 26 + (x * (MyButton.Width + 5))
                x += 1
                '設定 BUTTON CLICK EVENT
                AddHandler MyButton.Click, AddressOf MyButton_Click


                '把button 加到 form 中
                Me.Controls.Add(MyButton)
            Next

        End Sub
        '處理 button click event
        Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim btn As Button = sender
            'pop up 一個自己button 的字的message
            MsgBox(btn.Text)
        End Sub

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 酷.睿 2010年8月29日 3:44
    2010年8月28日 15:16
    版主

全部回复

  • 你好

    或者可以參考以下的CODE 看看能不能幫助明白建做DYNAMIC BUTTON 的概念

     Public Sub GenerateDynamiceButton()
            '建立 坐標位置的變數, 方便一會兒安排 自動生產的button 的位置
            Dim y As Integer = 15
            Dim x As Integer = 0

            ' 用for loop 來建立 這些button 做 18隻button
            For ButtonIndex As Integer = 0 To 17

                ' 建造新的 button
                Dim MyButton As New Button
                '設定這新的button 的闊度
                MyButton.Width = 80
                '設定這新的button 的高度
                MyButton.Height = 20

                '我們暫定每行有4個BUTTON, 當每行有多個4個BUTTON 時重設行距, 令到下一行的和這一行的距離有10 個PIXEL
                ' 和重設x 坐標` = 0, 令到位置由頭開始

                If ButtonIndex Mod 4 = 0 Then
                    '設定 TOP 的 坐標位置令他可以和上一排的有10個PIXEL 的距離
                    y += MyButton.Height + 10
                    x = 0
                End If

                '設定文字 和 位置
                ' Set the text and set its top and left based on its dimensions and count
                MyButton.Text = "My Button" & ButtonIndex
                '設定 TOP 的 坐標位置
                MyButton.Top = y
                '下面的CODE 可以令到這個BUTTON 和另一個BUTTON 有5個PIXEL 的距離
                MyButton.Left = 26 + (x * (MyButton.Width + 5))
                x += 1
                '設定 BUTTON CLICK EVENT
                AddHandler MyButton.Click, AddressOf MyButton_Click


                '把button 加到 form 中
                Me.Controls.Add(MyButton)
            Next

        End Sub
        '處理 button click event
        Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            Dim btn As Button = sender
            'pop up 一個自己button 的字的message
            MsgBox(btn.Text)
        End Sub

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 酷.睿 2010年8月29日 3:44
    2010年8月28日 15:16
    版主
  • 很好~O(∩_∩)O谢谢
    2010年8月29日 3:44