vb net控件数组处理方法

合集下载

VB.NET是怎样做到的(十三)——数组的操作

VB.NET是怎样做到的(十三)——数组的操作

是怎样做到的(⼗三)——数组的操作本⽂可能是《是怎样做到的》的最后⼀篇了,因为我再也想不出有什么功能是C#等没有的了。

不过由于Visual Basic 2005的推出,⼜有⼀些新功能出现了。

所以从下⼀篇开始就是另⼀个系列《Visual Basic 2005新功能点评》,本⽂就是这个系列的完结篇。

VB6以前的数组是⼗分灵活的。

⽽在数组⽅⾯为了适应.NET Framework做了⼀些改变,但仍然有较强的灵活性。

下⾯的代码展⽰了数组的常见操作。

没有固定下标上界的数组如b()成为动态数组,⽽固定了上界的数组,如a(20)称为固定数组。

Dim a(10) As IntegerDim b() As Integer = {1, 2, 3}Dim c As Integer()Dim d() As Integerd = New Integer() {4, 5, 6}Dim e(,) As Integer = {{1, 2}, {3, 4}}Redim c(20)Redim Preserve c(30)我们不难看出,VB的数组定义语句可以将括号放在变量的后⾯,也可以放在类型的后⾯。

如果希望⽤{}来初始化数组,那么数组就必须是动态的,不能指定下标上界。

ReDim可以改变数组的任意⼀维的⼤⼩,但会清除数组的内容;ReDim Preserve只能改变数组最后⼀维的⼤⼩,并保留数组的内容。

⾸先看看动态数组。

Dim a() As T() = {}语句先执⾏了数组的定义语句,然后它执⾏了和a = New T() {}语句⼀样的功能。

如下代码所⽰:a = New T() {1, 2, 3}该语句执⾏的实际功能是Dim tmp(2) As Ttmp(0) = 1tmp(1) = 2tmp(2) = 3a = tmp⽆论a是否是本地变量,都会建⽴⼀个临时的本地数组,然后赋值给a。

如果a是⼀个类的字段,那么这样初始化带来的代价要⼩⼀些。

使用VB.NET的五个技巧之处理数据行

使用VB.NET的五个技巧之处理数据行

使用的五个技巧之处理数据行处理数据行(DataRow)Windows窗体中的数据绑定列表框和组合框很节省时间典型的代码如下(假定已经建立了SqlDataAdapter或者其它部件获取数据)Dim ds As New DataSet() SqlDataAdapter Fill(ds Customers ) ListBox DataSource = ds Tables( Customers ) ListBox DisplayMember = CompanyName ListBox ValueMember = CustomerID在这种情况下代码使用Northwind数据库的顾客记录工作DisplayMember属性设置为你希望用户在列表框中看到的记录字段它是customers表的CompanyName 通常ValueMember属性设置为数据表中的一个键字段对于customer来说是CustomerID 一旦用户选择了列表框中的一行很容易使用列表框的SelectedValue属性获得键字段MsgBox(ListBox SelectedValue)但是有可能需要一个与被选择项相关的整个数据行对象的引用例如如果被选择的行需要被删除就不知道键了你需要一个数据行的引用以使用Delete方法典型的Visual Basic开发者通常这样想我已经得到了该行的键了我将编写一些逻辑来查找使用该键的行这样可以实现但是有更好的实现方法可以使用一行代码获取与列表框中选项关联的数据行Dim dr As DataRow = CType(ListBox SelectedItem DataRowView) Row通常该逻辑不会凭直觉出现即使对经验丰富的开发者为了解释这是怎样实现的我把上面的一行拆成几行下面的代码与上面代码的功能相同Dim drv As DataRowView drv = CType(ListBox SelectedItemDataRowView) Dim dr As DataRow dr = drv RowDataRowView类是数据行的包装它被多个Windows窗体控件使用它使得显示与控件中的数据行相关的数据更加容易当列表框被数据绑定到数据表时(假定列表框中的有些行当前被选定了)列表框的SelectedItem属性保存了一个DataRowView对象这意味着我们能把列表框的SelectedItem属性转换到DataRowView对象这就是上面代码中的第二行实现的接着DataRowView暴露一个Row属性它指向被包装的数据行上面的代码声明了一个数据行并设置了Row属性转换对象的类型以访问它的接口的技术在Visual Basic 中不是经常使用但是在Visual Basic NET中这是经常的有了上面的例子后大多数有经验的开发者迅速跟上了这种技术数据行的引用(dr)可用于用任何方式维护行访问数据行中的任何特定字段是可行的行中的数据可以被改变能使数据行的Delete方法把该行标识为删除或者从数据表的行集合中删除该行下面的代码标识删除了一行dr Delete()lishixinzhi/Article/program/net/201311/12974。

vb控件数组的使用

vb控件数组的使用

vb控件数组的使用VB控件数组是在Visual Basic开发环境中用于处理大量相似控件的一种技术。

通过创建控件数组,可以方便地对一组控件进行集成处理,从而提高代码效率。

下面将详细介绍控件数组的使用及其注意事项。

1、控件数组的声明与初始化在VB中,声明控件数组与普通变量的方法类似。

通过使用Dim语句,在程序代码中声明一个控件数组,例如:Dim myButton(10) as CommandButton这里创建了10个命令按钮的数组,可以直接操作数组元素,如:myButton(0).Caption="Button1"myButton(1).Caption="Button2"当然,你也可以使用For循环结构来初始化数组中的控件,如下所示:For i = 0 To 10Set myButton(i) = Controls.Add("mandButton", "Button" & i)myButton(i).Top = i * 25Next i上述代码使用For循环在窗体上添加了11个按钮,并将它们的Top 属性依次设置为0、25、50、75……。

2、控件数组的处理方法通过使用控件数组,可以对具有相同事件处理程序的一组控件进行集成处理。

比如,你可以使用For循环结构为这些控件注册事件,代码如下:For i = 0 To 10Set myButton(i) = Controls.Add("mandButton", "Button" & i)myButton(i).Top = i * 25AddHandler myButton(i).Click, AddressOf Buttons_ClickNext iPrivate Sub Buttons_Click()MsgBox "Clicked"End Sub这里,我们将11个按钮的Click事件都绑定到Buttons_Click事件处理程序,当任何一个按钮被单击时,都会产生一个被处理的事件。

vb net控件数组处理方法

vb net控件数组处理方法

vb net控件数组处理方法
, 控件数组, 处理方法, 简单实用
控件数组的处理方法By: LaiCQ____-4-28 16:30:27VB6有控件数组,这个是很方便的,可以将所有同类型的控件组成一个数组,方便处理,但却没有.网上找了很多方法,都不实用,现在采用如下方法可以解决问题:
方法为:采用Tag来标识各个控件
例如:
1: 加入控件:btnMain_0, btnMain_1, btnMain_2, 其Tag:分别设置为:0, 1, 2 2: 建立一个函数如下, 其可以响应不同的Button事件,这样将所有事件列在一起分别处理就不会乱了.
‘Main窗体:按钮Button的单击处理
Private Sub btnMain_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
btnMain_0.Click, btnMain_1.Click, btnMain_2.ClickDim iInde_ As IntegerOn Error GoTo SolveErriInde_ = CInt(CType(sender, Button).Tag) Select Case iInde_
Case 0 ‘按键0的处理
Case 1 ‘按键1的处理
Case 2 ‘按键2的处理
End Se
lectE_it Sub
SolveErr:
End Sub
3: 对其它类型的控件处理是一样的,只要修改:CType(sender, Button)中的Button, 如下拉列表框为:iInde_ = CInt(CType(sender, ComboBo_).Tag)。

vbnet数组排序方法

vbnet数组排序方法

(原创实用版5篇)编制人员:_______________审核人员:_______________审批人员:_______________编制单位:_______________编制时间:____年___月___日序言下面是本店铺为大家精心编写的5篇《vbnet数组排序方法》,供大家借鉴与参考。

下载后,可根据实际需要进行调整和使用,希望能够帮助到大家,谢射!(5篇)《vbnet数组排序方法》篇1在 中,可以使用内置的 `Array.Sort` 方法对数组进行排序。

该方法可以对任何类型的数组进行排序,包括整数、浮点数、字符串等。

下面是一个示例代码,演示如何使用 `Array.Sort` 方法对整数数组进行排序:```Dim numbers As Integer() = {5, 2, 8, 1, 9}Array.Sort(numbers)```在上面的代码中,我们首先定义了一个整数数组 `numbers`,其中包含了一些整数。

然后,我们使用 `Array.Sort` 方法对这个数组进行排序。

最后,我们打印出排序后的数组,以验证排序是否正确。

需要注意的是,`Array.Sort` 方法会直接修改原始数组,而不是创建一个新的排序后的数组。

如果不想修改原始数组,可以使用 `Array.Sort` 方法的重载版本,该版本会返回一个新数组,而不是修改原始数组。

《vbnet数组排序方法》篇2在 中,可以使用内置的 `Array.Sort` 方法对数组进行排序。

以下是一个示例代码:```Dim numbers As Integer() = {5, 2, 8, 1, 9}Array.Sort(numbers)```在上面的代码中,我们首先定义了一个整数类型的数组 `numbers`,然后使用 `Array.Sort` 方法对其进行排序。

该方法将按照升序对数组进行排序。

如果需要按照降序排序,可以使用 `Array.Sort` 方法的另一个重载版本,如下所示:```Array.Sort(numbers, pareMethod.Descending)```在上面的代码中,我们传递了一个 `pareMethod.Descending` 参数,该参数指定了降序排序。

5 数组VB.net

5 数组VB.net
1.分类统计 将一批数据按条件统计每一类中包含的个 数。例如,统计学生成绩优、良、中、及 格、不及格人数。这类问题要掌握分类条 件表达式的书写和使用计数变量保存相应 的计数。
End With
本章目录
4.结构数组及应用
例5.9 利用结构类型,声明一个结构数组,输 入不超过100个个学生的信息,显示全部信息和 查询某学校的学生情况。 分析:自定义一个记录类型,由姓名、组成,声 明一个存放最多100个记录的数组,在标准模块 自定义类型如下
代码说明
本章目录
5.6 综合应用-分类统计
本章目录
数组的概念
用数组解决问题的程序如下:
Dim mark(99) As Integer ' 声明数组mark
Dim aver!, overn%, i%
aver = 0
For i = 0 To 99
' 输入成绩,求分数和
mark(i) = InputBox("输入学生的成绩")
aver = aver + mark(i)
冒泡法演示
本章目录
冒泡法排序
例5.6 用冒泡排序法实现例5.5的问题。
原始数据 a(1) a(2) a(3) a(4) a(5) a(6) 第1轮比较
a(1) a(2) a(3) a(4) a(5)
第2轮比较
a(1) a(2) a(3) a(4)
第3轮比较
a(1) a(2) a(3)
第4轮比较
a(1) a(2)
例 Dim x(,) As Integer = {{1,2,3,4}, {5,6,7,8}}
数组x
1
2
3
4
5
6
7

VB.NET教程

VB.NET教程

教程 - 字符串在中,可以使用字符串作为字符数组,但是更常见的做法是使用String关键字声明一个字符串变量。

string关键字是System.String类的别名。

创建一个字符串对象您可以使用以下方法之一创建字符串对象:•By assigning a string literal to a String variable 通过指定一个字符串给一个字符串变量••By using a String class constructor 通过使用String类构造函数••By using the string concatenation operator (+) 通过使用字符串连接运算符(+)••By retrieving a property or calling a method that returns a string 通过检索属性或调用返回字符串的方法••By calling a formatting method to convert a value or object to its string representation•通过调用格式化方法将值或对象转换为其字符串表示形式下面的例子说明了这一点:1.Module strings2.Sub Main()3.Dim fname, lname, fullname, greetings As String4.fname = 'Rowan'5.lname = 'Atkinson'6.fullname = fname + ' ' + lname7.Console.WriteLine('Full Name: {0}', fullname)8.9.'by using string constructor10.Dim letters As Char() = {'H', 'e', 'l', 'l', 'o'}11.greetings = New String(letters)12.Console.WriteLine('Greetings: {0}', greetings)13.14.'methods returning String15.Dim sarray() As String = {'Hello', 'From', 'Tutorials', 'Point'}16.Dim message As String = String.Join(' ', sarray)17.Console.WriteLine('Message: {0}', message)18.19.'formatting method to convert a value20.Dim waiting As DateTime = New DateTime(2012, 12, 12, 17, 58, 1)21.Dim chat As String = String.Format('Message sent at {0:t} on {0:D}', waiting)22.Console.WriteLine('Message: {0}', chat)23.Console.ReadLine()24.End Sub25.End Module当上述代码被编译和执行时,它产生了以下结果:1.Full Name: Rowan Atkinson2.Greetings: Hello3.Message: Hello From Tutorials Point4.Message: Message sent at 5:58 PM on Wednesday, December 12, 2012String类的属性String类有以下两个属性:SN 属性名称和说明1Chars获取当前String对象中指定位置的Char对象。

VB控件数组的操作技巧

VB控件数组的操作技巧

VB控件数组的操作技巧控件数组有在设计时设置好的,也有在运行中创建的。

控件数组一方面使得程序简洁、令代码易于维护,另一方面能使程序具有灵活性。

可见,科学地利用控件数组可使编程工作的效率更高。

本文是从笔者回答网友的问题中整理出来的,与原来的回答相比略有改动。

希望这些"技巧"对大家有些帮助。

如有不妥之处,敬请指教。

一、运行中设置数组控件的属性设窗体上有若干个以 Command1 命名的命令按钮,现要求:点击其中一个按钮后,该按钮不可用,而其它的按钮均可用。

以下几行代码可以实现这个要求,比一个一个的设置高效得多。

Private Sub Command1_Click(Index As Integer)Dim i As Integer '计数器Dim comNum As Integer '按钮的索引号comNum = 0For i = 0 To Command1.Count - 1comNum = comNum + 1If comNum > Command1.Count - 1 Then comNum = 0Command1(comNum).Enabled = True '让所有按钮可用NextCommand1(Index).Enabled = False '让被单击按钮不可用End Sub二、运行中添加和卸载数组控件窗体上已有一个文本框Text1,程序需要在运行时动态地创建若干文本框,可这样实现:1.首先,设计时给Text1的Index属性设置为"0",这一步很重要:有了索引号才能创建数组控件;2.编写代码:[之前请给工程添加两个命令按钮,Name属性取缺省值,Caption属性分别为:添加、卸载]Private Sub Command1_Click()Dim txtNum As Integer 'Text1的Index号Dim Num As Integer '赋给各TextBox的值txtNum = 0 '初值Num = 1 '初值Text1(0).Text = "Text" & Num '第一个Text1的值Dim i As Integer '计数器For i = 0 To 4 '添加五个TextBoxtxtNum = txtNum + 1Num = Num + 1Load Text1(txtNum) '加载文本框Text1(txtNum).Top = Text1(txtNum - 1).Top + 450 '设置位置Text1(txtNum).Text = "Text" & Num '加载内容Text1(txtNum).Visible = True '令其可见:不能漏NextCommand1.Enabled = FalseCommand2.Enabled = TrueEnd SubPrivate Sub Command2_Click()Dim i As Integer, N As IntegerN = 0For i = 1 To Text1.Count - 1N = N + 1Unload Text1(N)NextCommand1.Enabled = TrueCommand2.Enabled = FalseEnd Sub三、给运行中添加的数组控件命名并编写事件其实例二已经给数组控件命了名,只是简单了些。

vb 控件属性 数组解决办法

vb 控件属性 数组解决办法

Vb 属性接口数组解决办法前不久制作Activex 控件,自定义接口成员,本来想通过外界传递数组给控件,但是我没有找到设置接口成员属性为数组的方法(我是个VB初学者,直到目前也没有找到方法)。

后来发现vb中字符串长度可以存放多达2亿个字符。

想到了将数组转换为字符串然后用字符串转换为数组的方法。

整体思路:在控件外接程序中将数组生成字符串,在控件里面将得到的字符串转换为数组完成数组的传递。

举例详细代码如下宿主程序中按钮Command1单击触发以下函数运行:第一个For 循环生成x(0 to 50),y(0 to 50)两个数组。

a,b为两个字符串,其第一个字符(数字形式)存放数组元素数目一共从0到50,有51个元素。

Str()指令是将数字转换为字符数字,比如将51转换为“51”。

第二个For循环将a,b两个字符串不断的添加字符(数字转换为字符形式,采用&连接,中间用逗号隔开)。

从而a,b字符串分别是“51,0,1,2,3……,50”和“51,627.5 578.5 531.5 486.5……627.5”控件的名称为ctr,为其设置了三个属性接口sn(布尔型) snx(字符串)sny(字符串)。

其中snx,sny分别用于承接外界传递的字符串,Sn为某个位(与该主题无关,在控件中指示另外某个事件的)Private Sub Command1_Click()Dim cd As IntegerDim x() As DoubleDim y() As Doublecd = 50ReDim x(cd)ReDim y(cd)For i = 0 To cd Step 1x(i) = iy(i) = (i - 25) ^ 2 + 2.5Next iDim a As StringDim b As Stringa = Str(cd + 1)b = Str(cd + 1)For i = 0 To cd Step 1a = a & "," & Str(x(i))b = b & "," & Str(y(i)) Next ictr.sn = Truectr.snx = actr.sny = bEnd Sub控件中程序字符串处理代码Private Sub zhunhuan()Dim xa() As DoubleDim ya() As DoubleDim af2() As StringDim af3() As Stringaf2 = Split(m_snx, ",")af3 = Split(m_sny, ",")Dim cd As Integercd = Int(Val(af2(0))) ReDim ya(cd - 1)ReDim xa(cd - 1)For i = 0 To (cd - 1) Step 1 xa(i) = Val(af2(i + 1)) Next iFor i = 0 To (cd - 1) Step 1ya(i) = Val(af3(i + 1))Next iEnd Sub上述代码split函数将字符串剥离成一个数组从而af2(),af3()中存放字符即af3()中af3(0)为“51” af3(1)为“627.5” af3(2)为“578.5”For循环中Val(af3(i + 1))将af3(i + 1)中元素由字符转换为数字即af3(1)由“627.5”变换成为627.5 从而完成了整个数组由宿主程序往控件的传递。

在VB.NET中执行基本的数组操作

在VB.NET中执行基本的数组操作

在中执行基本的数组操作对数组进行操作的能力在任何编程语言中都很重要VB NET与其它语言相似提供了简单的途径对数据进行分组将它们存放到数组结构中本文中我们将回顾数组的声明和使用数组的目的数组通常用于存储相似类型的值和对象它允许对变量进行分组并且允许使用索引进行检索数组有上界和下界它用于指示数组的开始索引值和结束索引值另外数组中的数据可以按序排列简单的数组是一维的当然在VB NET中也可以使用多维数组还可以对数组进行循环以确定或修改存储在数组中的某个值数组的声明和初始化有两个途径初始化数组第一在一条声明语句中进行声明同时初始化;第二先声明数组然后对其进行初始化在一条语句中同时声明和初始化数组时必须指定数组元素的数值类型以及数组所包含元素的个数 VB NET中数组是基于的这也就是说数组的索引编号从开始其后元素进行连续编号必须通过指定数组的上界确定数组中元素个数上界是指定数组中最后一个元素索引的数字 Listing A给出了整型数组的声明和初始化示例对数字进行声明和初始化的另外一个途径是在分开的两步中分别进行声明和初始化操作如果声明了一个数组但是在这一行没有指定其大小则在初始化时需要对数组中的每一个单元都指定值初始化值封装在{}括号中两个值之间使用逗号做为分隔符 Listing B给出了在不同的两步对数组进行声明和初始化的示例数组的声明和初始化一旦完成则可以在运行时重新定义数组从而改变其大小可以使用ReDim声明改变数组结构中元素的个数Listing C给出了声明初始化和重新调整数组大小的示例默认情况下数组进行重新初始化后原来的数值都会丢失但是在重新初始化时可以使用ReDim声明和Preserve关键字保留数组的原有数值 Listing D中给出了一个这样的示例lishixinzhi/Article/program/net/201311/11829。

VB教程(江苏省)第六章修改(控件数组)

VB教程(江苏省)第六章修改(控件数组)

【例6-14】在窗体上放一文本框,编写一事件过 程,保证在该文本框内只能输入字母,且无论大小写, 都要转换成大写字母显示。 程序如下: Private Sub Text1_KeyPress (KeyAscii As Integer) Dim str$ If KeyAscii < 65 Or KeyAscii > 122 Then Beep KeyAscii = 0 ElseIf KeyAscii >= 65 And KeyAscii <= 90
【例6.12】显示鼠标指针的当前位置。 程序如下:

(Button As Integer,_ Shift Single,Y As Single)
Sub
As
Form_MouseMove
Integer , X As
Text1.Text = X
Text2.Text = Y
End Sub 运行结果如图6-6所示。
Case 2 dataout.Caption = ops1 * ops2 Case 3 dataout.Caption = ops1 / ops2 End Select res = True End Sub ' 已算出结果
6.5 鼠标事件和键盘事件
鼠标对于Windows应用程序设计来说几乎是必需的, 尤其是在图形图像处理的程序设计中,显得更为重要。 而鼠标应用的基础是鼠标事件。下面我们就来简单介 绍一下窗体鼠标事件及其应用。 6.5.1 鼠标事件
Name属性设置为同一值。
6.4.3
控件数组的应用举例
建立了控件数组之后,控件数组中所有控件共享
同一事件过程。例如,假定某个控件数组含有10个标
签,则不管单击哪个标签,系统都会调用同一个Click

数组去除重复元素的VB.Net实现方法

数组去除重复元素的VB.Net实现方法

数组去除重复元素的实现⽅法转载:/thread-298-1-1.html1. '数组去除重复元素的实现⽅法2. Dim stringArray As String() = {"aaa", "bbb", "aaa", "ccc", "bbb", "ddd", _3. "ccc", "aaa", "bbb", "ddd"}4. 'List⽤于存储从数组⾥取出来的不相同的元素5. Dim listString As New List(Of String)()6. For Each eachString As String In stringArray7. If Not listString.Contains(eachString) Then8. listString.Add(eachString)9. End If10. Next11. '最后从List⾥取出各个字符串进⾏操作12. For Each eachString As String In listString13. '打印每个字符串14. Console.Write(eachString)15. Next复制代码1. Dim stest As String() = New String() {"aaa", "bbb", "ccc", "aaa", "ccc"}2. Dim list As New ArrayList()3. For i As Integer = 0 To stest.Length - 14. Dim IsExist As Boolean = True5. For j As Integer = 0 To list.Count - 16. If list(j).ToString() = stest(i) Then7. IsExist = False8. Exit For9. End If10. Next11. If IsExist Then12. list.Add(stest(i))13. End If14. Next复制代码1. If Not list.Contains(stest(i)) Then2. list.Add(stest(i))3. End If复制代码。

VB.NET版的GridView经典使用(编辑,删除,分页,链接列)

VB.NET版的GridView经典使用(编辑,删除,分页,链接列)
CType(e.Row.Cells(12).FindControl("Label11"), Label).Text = "在职"
EndIf
EndIf
EndIf
End Sub
前台:
<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"Width=100%BackColor="White"BorderColor="White"BorderStyle="Ridge"BorderWidth="2px"CellPadding="3"CellSpacing="1"GridLines="None"AllowPaging="True"AllowSorting="True">
请注意甄别内容中的联系方式诱导购买等信息谨防诈骗
版的GridView经典使用(编辑,删除,分页,链接列)
ProtectedSubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesMe.Load
IfNotIsPostBackThen
CType(GridView1.Rows(e.RowIndex).FindControl("TextBox12"), TextBox).Text.ToString().Trim() & "' where trano='" & _

谈谈VB.NET数组的使用

谈谈VB.NET数组的使用

谈谈数组的使用我们都知道在所有程序设计语言中数组都是一个非常重要的概念,数组的作用是允许程序员用同一个名称来引用多个变量,因此采用数组索引来区分这些变量。

很多情况下利用数组索引来设置一个循环,这样就可以高效地处理复杂的情况,因此在很多情况下,使用数组可以缩短或者简化程序的代码。

本文主要介绍数组的使用,希望对大家的使用带来帮助。

数组中的第一个元素的下标称为下界,最后一个元素的下标称为上界,其余的元素连续地分布在上下界之间,并且数组在内存中也是用连续的区域来存储的,所以要求声明数组每维的长度不能超过Long数据类型的最大值,即264—1=263。

我们把VB.NET数组当作一个对象来处理,这就意味着数组类型是单个引用类型,数组变量包含指向构成数组元素、数组维和数组长度等数据的指针,数组之间互相赋值其实只是在相互复制指针,而且数组继承了System名字空间的Array类。

VB.NET中提供的数组类型和VB 6.0中有一些差别,我们将在下面做详细的讲解。

(1)VB.NET数组的声明VB.NET中的数组有两种类型:定长数组和动态数组。

这里先介绍定长数组的几种不同的声明方式,不同的声明方法将导致数组不同的有效范围。

◆Dim语句在模块段建立模块级数组,例如:1.Dim arrayl(3)As Integer◆Public语句在模块的声明部分建立一个公共数组,例如:2.Public counttype(20)as string◆Static语句声明一个过程内的局部数组,例如:3.Public Sub Ipaddress()4.Static server(30)as string5.End SubVB.NET还提供了新的数组初始化语法,只需要简单的语句就可以完成数组的声明和初始化,例如:6.New array initialization syntax7.Dim arrayl As Integer()={2,4,8}在VB.NET中,为了和其他语言更加易于协同操作,数组的下标均设定为0,不允许声明一个下界为1的数组,因此Option Base语句不再被VB.NET支持,而且在声明一个数组时必须用它的元素个数,而不是它的上界来初始化,例如:8.//声明一个一维数组具有3个元素,下标从0~29.Dim arrayl(3)As Integer10.arrayl(0):211.arrayl(1)=412.arrayl(2)=8以上声明的数组有三个元素,下标从0到2,如果代码企图访问下标为3的数组元素,将引起运行错误。

vb控件数组的使用

vb控件数组的使用

VB控件数组的使用一、什么是VB控件数组在VB编程中,控件是指用于构建用户界面的可视化元素,例如按钮、文本框、列表框等。

而控件数组是指将多个相同类型的控件组织在一起以便更方便地进行管理和操作。

二、为什么要使用VB控件数组使用控件数组可以带来许多好处,包括但不限于以下几点:1.简化代码:通过使用控件数组,我们可以减少代码的重复性,只需编写一次代码即可对数组中的所有控件进行操作。

这样可以大大简化代码的编写和维护工作。

2.提高效率:在某些情况下,我们需要对同一类型的多个控件进行相同或类似的操作。

使用控件数组可以避免重复性的操作,提高编程效率。

3.灵活性:控件数组可以动态增加或减少数组中的控件数量,从而使程序更具有灵活性和可扩展性。

4.统一管理:使用控件数组可以将同一类型的控件进行组织和管理,方便对其进行统一的控制和处理。

三、创建VB控件数组的方法在VB中,我们可以使用以下方法来创建和使用控件数组:1. 使用Control数组VB提供了一个叫做Control的特殊数组,可以容纳所有类型的控件。

我们可以通过声明Control类型的数组并将其初始化为特定类型的控件来创建控件数组。

例如,以下代码创建了一个名为btnArray的按钮数组:Dim btnArray() As Control = {btn1, btn2, btn3}其中btn1、btn2和btn3是已经存在于窗体上的按钮控件。

2. 动态创建控件数组除了使用Control数组外,我们还可以在运行时动态创建控件数组。

可以使用ReDim语句来调整数组的大小,并使用循环语句逐个初始化数组中的控件。

例如,以下代码使用循环创建了一个名为txtArray的文本框数组:Dim txtArray() As TextBoxDim i As IntegerReDim txtArray(2) '设置数组大小为3For i = 0 To 2txtArray(i) = New TextBox '创建新的文本框控件txtArray(i).Name = "txt" & (i + 1) '设置控件的名称Me.Controls.Add(txtArray(i)) '将控件添加到窗体上Next i在上述代码中,我们通过ReDim语句设置了txtArray数组的大小为3,并在循环中创建了3个新的文本框控件,并将其添加到窗体上。

VB.NET中控件数组的实现

VB.NET中控件数组的实现

中控件数组的实现摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。

如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。

VB6升级到后,VB6控件数组的创建方法在.NET 中不可用,本文总结了几种中使用控件数组的方法。

关键词:控件数组事件过程程序代码一、关于控件数组熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。

它的最大好处是:简化编程。

但当我们把这一用法沿用到中来时,却发现无法实现。

虽然中没有VB6中实现控件数组的方法,但在 中控件数组的运用更加灵活了。

中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。

二、中控件数组的实现要在中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。

1、使用Handles子句。

先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。

在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。

当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。

示例代码如下(部分内容省略):Label1_Click(ByVal sender…)HandlesLabel1.Click,Label2.Click,Label3.ClickDim lbl As Label = CType(sender, Label)当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click事件。

事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。

VBINET控件的全部用法(详细讲解)

VBINET控件的全部用法(详细讲解)

VBINET控件的全部用法(详细讲解)VB INET控件的全部用法(详细讲解)使用 Internet Transfer 控件Internet Transfer 控件实现了两种广泛使用的 Internet 协议:超文本传送协议(HyperText Transfer Protocol)(HTTP) 和文件传送协议(File Transfer Protocol) (FTP)。

使用 Internet Transfer 控件可以通过 OpenURL 或 Execute 方法连接到任何使用这两个协议的站点并检索文件。

可能的用途在应用程序中添加 FTP 浏览器。

创建自动从公共 FTP 站点下载文件的应用程序。

分析 World Wide Web 站点中的图形引用,并只下载图形。

提供以自定义格式显示从 Web 页获得的动态数据。

基本操作Internet Transfer 控件的功能依赖于将要使用的协议。

由于所支持的两种协议工作起来不尽相同,所能够进行的操作就依赖于正在使用的协议。

例如,GetHeader 方法只能用于 HTTP(HTML 文档)协议。

然而,有些过程对两个协议是通用的。

最基本的,如果要使用任何一个协议,则必须:将 AccessType 属性设置为合法的代理服务器。

用合法的 URL 调用 OpenURL 方法。

用合法的 URL 和协议支持的命令调用 Execute 方法。

用 GetChunk 方法从缓冲区获取数据。

设置 AccessType 属性:使用代理服务器为了与Internet 建立任何形式的连接,必须确定计算机如何连接到 Internet 上。

如果在 intranet 上,可能需要提供代理服务器才能连接到 Internet 上。

简单地说,代理服务器是计算机和Internet 之间的媒介。

intranet 上所有需要连接到 Internet 上的计算机,都必须通过代理服务器。

代理行使 intranet 和 Internet 之间的防火墙功能,能够阻止非法的最终用户和外部请求,也就保护了 intranet 不受破坏。

在VB.NET中使用控件数组

在VB.NET中使用控件数组

在中使⽤控件数组控件数组是位于⼀个窗体上共享同⼀名称的⼀组同种类型控件。

普通控件仅使⽤名称就可以识别,⽽引⽤控件数组中的成员则需要同时使⽤名称和索引。

开发⼈员在 Visual Basic 6.0 以及更早的版本中使⽤控件数组主要有以下三个理由:1. 在循环中访问数组中控件的属性。

2. 向窗体动态添加新控件。

3. 允许⼀个事件例程与多个控件连接。

控件数组的使⽤,极⼤的⽅便了开发⼈员。

然⽽,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual (以下简称)的初学者却发现,在中似乎不能使⽤控件数组了。

笔者仔细查阅了的MSDN⽂档发现,在 中,确实不再⽀持控件数组。

原因是,对事件模型作了很⼤的改动,引⼊了另外⼀种数据类型――控件集合模型,使控件数组没有存在的必要。

就像VB6.0 中的控件数组可以共享事件⼀样, 中的事件模型允许任何事件处理程序都可以处理来⾃多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。

所谓控件集合是指包含在⼀个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。

程序运⾏时,可以通过访问容器的Control属性来得到该容器中的所有控件。

下⾯将演⽰如何通过控件集合来使⽤控件数组:⼀、直接使⽤Form容器的控件集合来使⽤控件数组:建⽴⼀个项⽬,在Form1中添加三个TextBox控件,名称分别为:TextBox1、TextBox2、TextBox3,⼀个Button控件。

双击Button,输⼊如下代码:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click‘下⾯的语句是通过数组元素的下标来访问Form中的每⼀个元素。

Me.Controls.Item(0).Text = "集合中的第⼀个元素"Me.Controls.Item(1).Text = "集合中的第⼆个元素"Me.Controls.Item(2).Text = "集合中的第三个元素"Me.Controls.Item(3).Text = "集合中的第四个元素"End Sub运⾏项⽬后,点击Button,看到的结果是:Form1中的所有控件(包括Button⾃⼰)的Text属性都被修改了,同时还发现,最后加⼊的的控件变成了集合中的第⼀个元素(下标为0)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Exit Sub
SolveErr:
End Sub
3: 对其它类型的控件处理是一样的,只要修改:CType(sender, Button)中的Button, 如下拉列表框为:iIndex = CInt(CType(sender, ComboBox).Tag)
方法为:采用Tag来标识各个控件
例如:
1: 加入控件:btnMain_0, btnMain_1, btnMain_2, 其Tag:分别设置为:0, 1, 2
2: 建立一个函数如下, 其可以响应不同的Button事件,这样将所有事件列在一起分别处理就不会乱了.
'MaiΒιβλιοθήκη 窗体:按钮Button的单击处理
Private Sub btnMain_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _
btnMain_0.Click, btnMain_1.Click, btnMain_2.Click
控件数组的处理方法
By: LaiCQ
2014-4-28 16:30:27
VB6有控件数组,这个是很方便的,可以将所有同类型的控件组成一个数组,方便处理,但却没有.网上找了很多方法,都不实用,现在采用如下方法可以解决问题:
Dim iIndex As Integer
On Error GoTo SolveErr
iIndex = CInt(CType(sender, Button).Tag)
Select Case iIndex
Case 0 '按键0的处理
Case 1 '按键1的处理
Case 2 '按键2的处理
End Select
相关文档
最新文档