[.NET] 使用迴圈建立的TEXTBOX 該如何使用?

看板Visual_Basic作者 (popmij)時間16年前 (2009/06/04 02:40), 編輯推噓3(3011)
留言14則, 4人參與, 最新討論串1/1
請輸入專案類型(網站專案或者應用程式專案): 迴圈建立的TEXTBOX NAME 問題 我有一個迴圈是這樣的 For i As Integer = 1 To 10 Dim tb As New TextBox tb.Name = "sizen" + i.ToString tb.Top = 20 tb.Left = i * 50 + 10 tb.Width = 40 Me.Panel1.Controls.Add(tb) Next 這樣會建立10個TEXTBOX 而每個NAME會是 sizen1 sizen2 sizen3 sizen4 .... sizen10 但是我如果在FOR後面使用sizen1就會說未宣告 該怎麼寫才能正常使用建立出來的TEXTBOX呢!? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.88.231

06/04 02:56, , 1F
以我的想法,可能直接宣告個textbox(10)陣列
06/04 02:56, 1F

06/04 02:57, , 2F
每一個textbox分別new,賦予屬性,用的時候就當陣列元素
06/04 02:57, 2F

06/04 02:57, , 3F
用就好
06/04 02:57, 3F

06/04 03:22, , 4F
用Me.Panel1.FindControl("sizen1")把它找出來用?
06/04 03:22, 4F

06/04 03:23, , 5F
有找到就做事,找到Nothing就做錯誤處理
06/04 03:23, 5F

06/04 13:31, , 6F
推薦使用物件陣列的方法,尤其當做的事情類似時
06/04 13:31, 6F

06/04 13:32, , 7F
可能存取的最外圍宣告textbox陣列 sizen(9) = textbox
06/04 13:32, 7F

06/04 13:33, , 8F
然後用迴圈依序宣告sizen(0) = new textbox()
06/04 13:33, 8F

06/04 13:33, , 9F
依序賦予其屬性之後再使用Controls.Add(sizen(0))
06/04 13:33, 9F

06/04 13:34, , 10F
來加入其至目標框架,然後之後就可以使用sizen(0)來直接
06/04 13:34, 10F

06/04 13:34, , 11F
存取第一個textbox了
06/04 13:34, 11F

06/04 13:35, , 12F
.net並非無法使用物件陣列,只是使用方法不同而已
06/04 13:35, 12F

06/04 15:12, , 13F
*控制項陣列
06/04 15:12, 13F

06/06 23:07, , 14F
成功了~~使用陣列比較好~~謝謝各位!!!!
06/06 23:07, 14F
文章代碼(AID): #1A9iEh2E (Visual_Basic)