Visual_Basic 板


LINE

※ 引述《NTUHacker (呼~)》之銘言: : 最近開始從VB6轉到NET : 結果google後發現控制項陣列的功能已經消失 : 請問目前是否有解決方案呢? : 還是只能用for each in controls慢慢找? : 目前是否無有效方法解決呢? : 非常感謝您的回覆與指教 m(_ _)m 宣告方法不同罷了 要用控制項陣列 需要從語法來宣告 我知道的做法有2 1.從頭開始宣告 範例(vb的): Public Class Form1 Private TextBoxArray(9) As TextBox Private Sub Form1_load(...) Dim posY As Integer = 0 For count As Integer = 0 To 9 TextBoxArray(count) = New TextBox() TextBoxArray(count).Location = New Point(5,posY) posY = posY + 15 TextBoxArray(count).Text = count + 1 Me.Controls.Add(TextBox(count)) Next End Sub End Class 這樣子就可以製造出10個從上往下對齊的TextBox陣列 要存取時就使用TextBoxArray(i)來存取第i個就可以了 這做法的缺點是各個控制項的位置只有在執行期間看的到 要調整位置得要自己思考各個控制項的大小、每次應增加的位置偏移量之類 其他屬性皆同,對外觀有特別要求時可能不好調整(見人見智) 優點就是不用一個一個慢慢拉 對於要自動生成的需求可以省去許多一個一個設定的功夫 2.將已存在的控制項製成陣列 假設妳已經在Form1上拉了三個TextBox,名稱都是預設的 TextBox1 TextBox2 TextBox3 像這樣 接著就是寫程式碼的部分 以下同樣是寫在Form1的Class內 Public Class Form1 Private TextBoxArray(2) As TextBox Private Sub Form1_Load(...) TextBoxArray(0) = TextBox1 TextBoxArray(1) = TextBox2 TextBoxArray(2) = TextBox3 End Sub End Class 程式碼就這樣,這樣就可以透過TextBoxArray(i)來存取第i個TextBox控制項了 這樣做得優點是可以用VB習慣的方式來設定各別控制項的屬性,而且效果馬上看得到 不會像從頭宣告那樣只有執行期看得到 缺點就是製作陣列時無法使用迴圈(或許只是我孤陋寡聞不會寫) 得要像 TextBoxArray(0) = TextBox1 這行程式這樣一個一個手動的來設定 如果控制項一多會很麻煩,也容易寫錯(不過VB有程式碼即時偵錯,其實也還好) 但其實這只要做一次就好,之後可以用陣列存取 所以妳不介意的話,這樣寫也好 主要適用於控制項數量不會有更改時 當然妳也可以混著寫 比如說同樣宣告TextBoxArray時,宣告(9)個 但前3個使用方法2來宣告 後7個則使用方法1 這樣也是一種彈性 大概就是這樣吧 有錯請告訴我 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.238.76 ※ 編輯: Peruheru 來自: 118.168.238.76 (08/22 11:51)
1F:→ fumizuki:不推薦自己寫程式碼實作陣列 因為這是在拖延開發進度 08/22 14:22
2F:→ Peruheru:我只是不曉得其他作法而已XD 08/22 17:34
3F:→ fumizuki:VB6同樣可以用Me.Controls("名稱")找控制項 08/22 22:33
4F:→ fumizuki:不過當然還是VB6的控制項陣列方便XD 08/22 22:34
5F:→ NTUHacker:感謝Peruheru和板主大人回覆,受用無窮,問題已解^_^ 08/23 18:18
6F:推 mraaa:還可以使用控制項陣列物件阿~~~ 08/24 10:55







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP