none
如何可以做出多個自行命名的自設實體控制項 RRS feed

  • 問題

  • 我想做20個 PictureBox 的實體控制項,Dim MyPictureBox As New System.Windows.Forms.PictureBox()

    每個 PictureBox 命名可以類似像"MyPictureBox" & i.ToString(),i=1 to 20,請問應該怎麼做才能達到這樣的效果.

    2010年6月30日 上午 10:13

解答

  • 增加屬性給它就好了.

    ex:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            For i As Integer = 0 To 9
                Dim myBox As New PictureBox
                myBox.Name = "Box" & i.ToString()
                myBox.Size = New Size(20, 20)
                myBox.Location = New Point(i * 50 + 30, 50)
                myBox.BackColor = Color.Black
                Me.Controls.Add(myBox)
            Next
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Controls.Remove(Me.Controls.Find("Box1", True)(0))
        End Sub

     


    以下是簽名檔, 請勿沒事對號入座
    MSDN 文件庫很重要
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    進步的人會找尋自己程式中的缺點,半桶水則把自己程式的錯誤推到不相干事物的身上
    2010年6月30日 上午 10:48
    版主

所有回覆

  • 增加屬性給它就好了.

    ex:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            For i As Integer = 0 To 9
                Dim myBox As New PictureBox
                myBox.Name = "Box" & i.ToString()
                myBox.Size = New Size(20, 20)
                myBox.Location = New Point(i * 50 + 30, 50)
                myBox.BackColor = Color.Black
                Me.Controls.Add(myBox)
            Next
        End Sub

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Controls.Remove(Me.Controls.Find("Box1", True)(0))
        End Sub

     


    以下是簽名檔, 請勿沒事對號入座
    MSDN 文件庫很重要
    回應幫助你的人是一種禮貌, 良好的禮貌有助於激發大家對你問題回應的熱情
    進步的人會找尋自己程式中的缺點,半桶水則把自己程式的錯誤推到不相干事物的身上
    2010年6月30日 上午 10:48
    版主
  • 感謝您回覆,謝謝!
    2010年6月30日 下午 12:21