| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1065 人关注过本帖
标题:[讨论]关于控件数组,有更好的办法吗?
只看楼主 加入收藏
mkb21
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-9-22
收藏
 问题点数:0 回复次数:2 
[讨论]关于控件数组,有更好的办法吗?

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)

写一大堆代码,那么笨吧!
在网上也 看到过通过继承的方法写出来的TextBoxArray.vb的类,可不太好用(也许是我笨的原因),哪位高手有更好的办法,请指教,小弟感激不尽!

搜索更多相关主题的帖子: 控件 办法 
2007-09-29 22:03
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
[CODE]Dim WithEvents TextBoxes() As TextBox[/CODE]
一种思路
2007-09-30 22:00
mkb21
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-9-22
收藏
得分:0 

今天我终于学会了在VB.Net中使用控件数组,分享一下!
VB.Net没有了控件数组,的确让我这个十分喜欢VB的人,失落了好一阵子,不过好在有网上的这些好文章协助,终于让我学会了利用VB.Net窗体的Contral属性来取得大量变量的方法,在这里也与大家分享一下,呵呵,因为是新手的原因,方法可能会有些笨,不要笑话我哦!

假定在窗体frmTextBoxArray中有30个TextBox输入框(是不很少有这么做的呢?)分别为:TextBox1,TextBox2... ...TextBox30,它们按10个一组,分别放在3个GroupBox中,另外还有一个Button,我们测试一下用简单的方法取得为30个TextBox的输入值。代码如下:

Public Class frmTextBoxArray
Inherits System.Windows.Forms.Form
Dim myValueTxt(29) As String
Dim myMsgWord As String

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

For x As Integer = 0 To 9 '循环取得输入值并赋值给变量数组
myValueTxt(x) = Trim(Me.GroupBox1.Controls.Item(x).Text.ToString) '第1组
myValueTxt(x+10) = Trim(Me.GroupBox2.Controls.Item(x).Text.ToString) '第2组
myValueTxt(x+20) = Trim(Me.GroupBox3.Controls.Item(x).Text.ToString) '第3组
Next

For x As Integer = 0 To 29 '准备Msg内容
myMsgWord = myMsgWord & myValueTxt(x) & Microsoft.VisualBasic.ChrW(13)
Next
MassageBox(myMsgWord,64,"信息!") ’分30行将取到的变量值在消息框中显示
myMsgWord = Nothing
End Sub
End Class

由此可见VB.Net的Contrals属性是将窗体中建立的控件加入到一个控件集中,若使用了GroupBox控件,则每个GroupBox控件中的子控件分别从0开始依次加入,并且先加入的在后,后加入的在前,连GroupBox也可用Contrals的属性进行操作,极大的简化了程序代码,从而也使VB.NET 中的事件模型能允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。

[此贴子已经被作者于2007-9-30 23:58:12编辑过]


\\\\// ~\'~ ^
2007-09-30 23:56
快速回复:[讨论]关于控件数组,有更好的办法吗?
数据加载中...
 
   



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

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