最近在生產排程管理程式時有用到
剛聽到需要這個功能時我面有難色
因為這個功能從來沒用過
事前以為會很困難
但實際上開始動手後才發現是自己嚇自己
而且為按鍵註冊的部分也可以增加對程式結構了解
感覺是不準的
所以別想太多 先著手試試看吧!!

以下為語法
請先於form中建立一按鈕及textbox
(建議直接貼入vs中看會比較清楚)

 

Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        '1.建立Button物件

        Dim btuArray As Button() = New Button(2) {}      '建立按鈕矩陣並將矩陣實體化
        Dim i As Integer = 0


        '2. 加入控制項
        While i <> btuArray.Length
            btuArray(i) = New Button()                '以迴圈逐個實體化按鈕
            Me.Controls.Add(btuArray(i))             '加入按鈕 (Controls用法請參照延伸閱讀
            btuArray(i).Text = "Dynamic " & i
            btuArray(i).Top = 12 + btuArray(i).Height * i         '按鈕生成垂直座標
            btuArray(i).Left = 13                                           '按鈕生成水平座標

            '3. 為Click事件註冊

            AddHandler btuArray(i).Click, AddressOf button_Click                
            'button_Click即為按鍵矩陣將要執行的程式

            i += 1

        End While

    End Sub

    Private Sub button_Click(ByVal sender As Object, ByVal e As EventArgs)

        textBox1.Text = "你按下: " & DirectCast((sender), Button).Text                
        '使用DirectCast((sender), Button).Text 將自動偵測被按下之按鍵的text
        '請於此處寫入需要執行的功能
    End Sub

 

參考來源:美妙人生
延伸閱讀:VB.NET-以迴圈 操作/變更 控制項(以Button.text為例!)

 


arrow
arrow
    全站熱搜

    nusection 發表在 痞客邦 留言(1) 人氣()