vb.net 教程 3-13 动态创建控件3
2017-11-21 21:18
656 查看
在vb6的时候,很方便在设计的时候创建控件数组。
例如两个按钮控件(CommandButton),当修改其中一个控件名称与另外一个控件名称一样时,vb6编辑器会提示:
按下“是”就会创建控件数组了,两个按钮区别在于Index属性不同:
在实际代码中可以看到,事件参数中多了 Index as Integer,也就是通过Index指明了是哪个具体的按钮:
那么在vb.net中,如果输入了相同的名称:
也就是通过设计时候创建控件数组是行不通的。那么在代码中如何实现?
基本步骤如下:
1、创建一个窗体级控件数组
2、窗体载入时,实例化各个控件
3、设置各个控件的属性,不是每个属性都必要。
4、窗体上增加控件
5、添加控件事件
6、创建相应的事件
运行如图:
要区分具体哪个按钮,可以采用一个偷懒的方法,把按钮的index写入 tag 属性:
运行时如下:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net
教程 目录
例如两个按钮控件(CommandButton),当修改其中一个控件名称与另外一个控件名称一样时,vb6编辑器会提示:
按下“是”就会创建控件数组了,两个按钮区别在于Index属性不同:
在实际代码中可以看到,事件参数中多了 Index as Integer,也就是通过Index指明了是哪个具体的按钮:
那么在vb.net中,如果输入了相同的名称:
也就是通过设计时候创建控件数组是行不通的。那么在代码中如何实现?
Public Class Form3 Dim mybutton() As Button Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load ReDim mybutton(3) For i As Integer = 0 To 3 mybutton(i) = New Button mybutton(i).Size = New Size(100, 40) mybutton(i).Location = New Point(10 + i * 120, 100) mybutton(i).Text = "按钮" & i Me.Controls.Add(mybutton(i)) AddHandler mybutton(i).Click, AddressOf buttonclick Next End Sub Private Sub buttonclick(sender As Object, e As EventArgs) Dim clickButton As Button = CType(sender, Button) MessageBox.Show("我按下了 " & clickButton.Text) End Sub End Class
基本步骤如下:
1、创建一个窗体级控件数组
2、窗体载入时,实例化各个控件
3、设置各个控件的属性,不是每个属性都必要。
4、窗体上增加控件
5、添加控件事件
6、创建相应的事件
运行如图:
要区分具体哪个按钮,可以采用一个偷懒的方法,把按钮的index写入 tag 属性:
Public Class Form3 Dim mybutton() As Button Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load ReDim mybutton(3) For i As Integer = 0 To 3 mybutton(i) = New Button mybutton(i).Size = New Size(100, 40) mybutton(i).Location = New Point(10 + i * 120, 100) mybutton(i).Text = "按钮" & i mybutton(i).Tag = i Me.Controls.Add(mybutton(i)) AddHandler mybutton(i).Click, AddressOf buttonclick Next End Sub Private Sub buttonclick(sender As Object, e As EventArgs) Dim clickButton As Button = CType(sender, Button) MessageBox.Show("我按下了第 " & clickButton.Tag & " 个按钮!") End Sub End Class
运行时如下:
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net
教程 目录
相关文章推荐
- vb.net 教程 3-13 动态创建控件1
- vb.net 教程 3-13 动态创建控件2
- [VB.NET]反射问题,怎么通过动态创建的控件得到控件的方法!
- [VB.NET]控件:动态增加,动态创建?
- Word控件Spire.Doc 教程:用C#,VB.NET在Word中创建对书签的交叉引用
- Word控件Spire.Doc 教程:用C#,VB.NET在Word中创建对书签的交叉引用
- 动态生成控件-绑定事件(VB.NET/C#)
- vb.net 教程 3-4 窗体编程 公共控件10 TreeView 3
- VB动态创建控件
- asp.net 动态创建TextBox控件 如何加载状态信息
- vb.net 教程 3-11 窗体控件综合编程 2-1
- vb.net 教程 3-4 窗体编程 公共控件7 DateTimePicker & MonthCalendar
- AjaxControlToolkit 微软出的ajax.net 工具使用教程十 DynamicPopulateExtender(动态)控件的使用
- vb.net 教程 3-4 窗体编程 公共控件9 ListView 2
- 利用Asp.net 动态创建DataList--- VB
- 基于ASP.NET的Web动态控件创建
- vb.net 教程 3-4 窗体编程 公共控件11 ToolTip
- 【ASP.NET Web API教程】2.3.5 用Knockout.js创建动态UI
- asp.net 包含动态创建控件的容器如果要切换显示/隐藏不要用 Visible 属性
- 关于VB.NET中动态设置控件坐标的使用心得休会