2013-11-15 103 views
1

我有一個循環,我想補充每次循環迭代一個按鈕...VB.net添加按鈕,形成

我有這樣的我,而上面:

Dim mybut As New Button 
Dim btn_number As Integer = 0 

我有這個我雖然內:

btn_number += 1 
mybut.AutoSize = True 
mybut.Name = "delete-btn" & btn_number 
mybut.Location = New System.Drawing.Point(77, 112) 
mybut.Text = "Delete" 
With mybut.Controls 
.Add(mybut) 
End With 

但我得到一個錯誤信息......這是對丹麥,所以我有一個小麻煩將其轉換成英語,我很抱歉....但它的一些有關的對象,在循環中指自己...

希望你們中的一些人能夠發現問題....這可能是我寫這一切都是錯誤的... 謝謝。

+0

如果btn_number在本地聲明那麼這可能是問題。請包括循環以及聲明btn_number變量的位置。 – Edper

+0

嗯,我試圖刪除腳本中的所有地方我的btn_number,但沒有任何區別,所以我不認爲這是問題... – Zjitzu

回答

1

您無法將按鈕添加到其自己的控件中(如您使用mybut.Controls.Add(mybut))。
你必須將它添加到一些容器的控件集合中,這可能是形式本身(Me.Controls.Add

mybut = New Button 
btn_number += 1 
With mybut 
    mybut.AutoSize = True 
    mybut.Name = "delete-btn" & btn_number 
    mybut.Location = New System.Drawing.Point(77, 112 + 
       btn_number * (mybut.height + 5)) 
    mybut.Text = "Delete" 
End With 
Me.Controls.Add(mybut) 

你可能也想改變位置爲每個按鈕 - 如下所示。

至於你的編輯:
將這個循環以上:Dim mybut As Button
而這個內循環:mybut = New Button

+0

這工作,非常感謝:D – Zjitzu

0

的問題是,你想.Add(mybut)mybut.Controls

如果您在循環中使用此代碼,則還必須考慮更改每個創建的按鈕的.Location