标题:[求助]控件数组如何解决
只看楼主
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
 问题点数:0 回复次数:8 
[求助]控件数组如何解决
用惯VB,刚学(2005),想建立一系列控件作为控件数组,方便编程,可是发现好象不能建立控件数组,不知有什么好方法可以解决?
搜索更多相关主题的帖子: 控件 
2006-07-17 15:05
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
VB2005,我沒有用過,市面上很難買到,就算可以買,,錢包裡也沒有這麼多錢,,所以VB2005有沒有改變2003的寫法我就不知道了,,
不過在VB2003裡,,已經把控件數組這概念給放棄了,原因在於,VB.Net是真正的面向對象的語言,而控件數組卻不是面向對象語言的特性,所以微軟已經控件數組,微軟已經放棄了,
不過在VB2003裡,提供了一種方法比控件數組更好的機制,
仔细看下面代碼.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, _
Button2.Click, _
Button3.Click, _
Button4.Click, _
Button5.Click
Dim btn As Button = CType(sender, Button)
MessageBox.Show(btn.Name)
End Sub

我的msn: myfend@
2006-07-17 17:19
NET爱好者
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2006-6-6
得分:0 
你可以看看control和controls集合的msdn。这个就是net里代替控件数组的东西。还有一个是collection()。分配动态数组。

写最好的程序。
2006-07-17 19:56
dragonfly
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:1024
专家分:0
注 册:2006-3-20
得分:0 

谢谢二位指点!


2006-07-18 08:43
ffrr5577
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-4-4
得分:0 
2005支持控件数组的哦!不过变通一下而已。控件数组的巨大魅力不是谁几句话可以抹杀的。
Public picViews(54) As PictureBox
调用 picViews(5).image=Image.FromFile("c:\a.jpg")
2006-07-21 10:29
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
得分:0 
以下是引用purana在2006-7-17 17:19:32的发言:
VB2005,我沒有用過,市面上很難買到,就算可以買,,錢包裡也沒有這麼多錢,,所以VB2005有沒有改變2003的寫法我就不知道了,,
不過在VB2003裡,,已經把控件數組這概念給放棄了,原因在於,VB.Net是真正的面向對象的語言,而控件數組卻不是面向對象語言的特性,所以微軟已經控件數組,微軟已經放棄了,
不過在VB2003裡,提供了一種方法比控件數組更好的機制,
仔细看下面代碼.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, _
Button2.Click, _
Button3.Click, _
Button4.Click, _
Button5.Click
Dim btn As Button = CType(sender, Button)
MessageBox.Show(btn.Name)
End Sub

你不會都是用正版軟件的吧


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-21 13:18
adair
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:250
专家分:0
注 册:2005-9-3
得分:0 

有的控件也有自己的控件数组控件.

例如:button 有 buttonarray

不过这样做.就需要在代码中为每个控件设置INDEX了.

me.buttonarray1.setindex(me.button1,ctype(0,short))

buttonarray1 数组名

me.button1 欲加入此数组的同类型控件名

0 index


可以升级一个6.0的程序.就知道MICROSOFT自己怎么处理的了.


********年轻无极限******** 要時刻相信你自己,不要被自己打敗
2006-07-27 19:11
mkb21
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-9-22
得分:0 
VB.Net中没有了控件数组,的确不爽,以前在VB6中,像有大量TextBox类的输入,其与变量数组结合取来,使得赋值变得非常容易,代码也简便得多了,如窗体中有32个TextBox控件,要将所输入的值传给一组变量的代码为:
Dim myValueTxts(31) as String
For i as Intege = 0 to 31
myValueTxt(i)=trim(me.TextBox(i).Text) 'TextBox()为控件数组
Next
可这种方法在VB.Net中却不知该怎样实现,总不至于要:

myValueTxt(0)=trim(me.TextBox1.Text)
...
...
...
myValueTxt(31)=trim(me.TextBox32.Text)

写一大堆代码,那么笨吧!
哪位高手有更好的办法,请指教,小弟感激不尽!

\\\\// ~\'~ ^
2007-09-29 21:57
浅色的回忆
Rank: 1
等 级:新手上路
帖 子:139
专家分:0
注 册:2007-6-24
得分:0 
以下是引用purana在2006-7-17 17:19:32的发言:
VB2005,我沒有用過,市面上很難買到,就算可以買,,錢包裡也沒有這麼多錢,,所以VB2005有沒有改變2003的寫法我就不知道了,,
不過在VB2003裡,,已經把控件數組這概念給放棄了,原因在於,VB.Net是真正的面向對象的語言,而控件數組卻不是面向對象語言的特性,所以微軟已經控件數組,微軟已經放棄了,
不過在VB2003裡,提供了一種方法比控件數組更好的機制,
仔细看下面代碼.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, _
Button2.Click, _
Button3.Click, _
Button4.Click, _
Button5.Click
Dim btn As Button = CType(sender, Button)
MessageBox.Show(btn.Name)
End Sub

我没这么用过


2007-09-30 00:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-78797-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092366 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved