我有一些動態創建的按鈕(運行時生成的按鈕)以及一些動態創建的面板。我想做類似於下面的代碼的東西,但我知道這段代碼不起作用。通過動態創建的控件循環
For i = 1 to NumberOfButtons
button(i).top = panel(i).top
next
的按鈕名爲Button1,BUTTON2等,以及面板也稱爲PANEL1,是Panel2等 這一切正在用VB寫的快遞2008年
我有一些動態創建的按鈕(運行時生成的按鈕)以及一些動態創建的面板。我想做類似於下面的代碼的東西,但我知道這段代碼不起作用。通過動態創建的控件循環
For i = 1 to NumberOfButtons
button(i).top = panel(i).top
next
的按鈕名爲Button1,BUTTON2等,以及面板也稱爲PANEL1,是Panel2等 這一切正在用VB寫的快遞2008年
當你生成你的按鈕和麪板,你需要將它們存儲到一個數組中。然後你可以通過你的代碼示例中的索引來訪問它。另一種選擇是通過Me.Controls("button1")
和類似的方式來完成,但我會考慮這種不好的編碼。
For i As Integer = 1 To theTopNumber
Me.Controls("button" & i.ToString).Top = Me.Controls("panel" & i.ToString).Top
Next
這不工作?
For Each btn As Button In Me.Controls
For Each pnl In Me.Controls
btn.Top = pnl.Top
Next
Next
請(如果您滿意)投票或標記爲答案,因爲我神祕的禁止沒有特別原因。這可能有助於重新啓用它:/
;)
我就要在使用數組給一個嘗試,但至少那裏有另一種選擇。謝謝 – Jamie 2013-03-21 20:25:42
@ user2179046:你不能出錯陣列。名稱的字符串常量很脆弱,以便長期維護。 – Neolisk 2013-03-21 20:26:57
只需更新一下,就可以完全正常工作,並在此過程中學習更多關於數組的知識!我首先嚐試使用me.controls(「button1」)方法。然後嘗試使用數組,代碼變得非常簡單。謝謝您的幫助! – Jamie 2013-03-21 23:23:23