vb.net给控件加事件两种方法:
1. 用WithEvents声明变量 , 这样你就可以像对待拖上去的控件一样操作:
Public Class Form3
WithEvents btn As New Button
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
【vb.net事件声明的简单介绍】Controls.Add(btn)
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
MsgBox(Now)
End Sub
End Class
2. 使用AddHandler 语句:
Public Class Form3
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim btn As New Button
AddHandler btn.Click, AddressOf btn_Click
Controls.Add(btn)
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs)
MsgBox(Now)
End Sub
End Class
WithEvents (Visual Basic):
AddHandler 语句:
(vb.net)动态添加的控件如何多次响应事件?熟悉VBvb.net事件声明的朋友对使用ActiveX控件一定不会陌生 , 众多控件极大地方便了编程,但
唯一的缺陷是不能动态加载控件,必须在设计时通过引用 , 将控件放置在窗体上 。
VB6.0已能够解决该问题 , 只是帮助中没有明确说明,并且没有描述到一些关键功能,
由于以前的版本中可以动态创建进程外服务:如果对象是外部可创建的,可在Set语
句中用New关键字、CreateObject或GetObject从部件外面将对象引用赋予变量 。
如果对象是从属对象,则需使用高层对象的方法,在Set语句中指定一个对象引用:
DimxlApp1AsExcel.Application
SetxlApp1=NewExcel.Application
或
DimxlAppAsObject'定义存放引用对象的变量 。
SetxlApp=CreateObject("excel.application")
xlApp.Visible=True
----这些语法很容易造成误导,以为动态加载ActiveX控件也是此方法,可能有朋友也
象我一样利用CreateObject尝试了无数次,却无功而返,不知微软公司是出于何种考
虑,动态加载ActiveX控件是扩展控件集合的方式实现,通过实际摸索,终于就如何实
现动态ActiveX控件找出了一条切实可行的方法,下面以一个具体的实例来详细说明 。
一、ActiveX控件
----ActiveX控件是VisualBasic工具箱的扩充部分 。使用ActiveX控件的方法与
使用其它标准内装的控件,如CheckBox控件,完全一样 。在程序中加入ActiveX控
件后 , 它将成为开发和运行环境的一部分,并为应用程序提供新的功能 。
----ActiveX部件通过客户端/服务器关系与应用程序—及与部件相互之间—交互作
用 。客户端是使用部件功能的应用程序代码或部件 。服务器是部件及其关联的对象 。例
如 , 假设应用程序使用ActiveX控件来提供一个标准的雇员窗体,供公司的多种应用
程序使用 。提供雇员窗体的ActiveX控件就是服务器,使用这个控件的应用程序就是
服务器的客户端 。
二、加载方法
----VB6.0中对Controls集合进行了扩展,以前版本中Controls集合在窗体上列举出
已加载的控件,这在迭代过程中是很有用的 。Controls集合标识一个叫做Controls
的内在窗体级变量 。如果忽略可选的object所在处的整数,则关键字Controls必须
包括在内 。我们通常在窗口中使用如下代码:
Text1.Text="Hello,world"
其实也可以使用如下代码达到同一目的:
Controls(1).Text="Hello,world"
----在VB6.0中除了原来的Clear、Remove方法外(很奇怪,为什么微软在VB5.0中只提
供这两种方法,而没有提供Add方法,因为没有Add,这两种方法也就没什么用处),增
加了Add方法,该方法就是用于动态加载控件的:
推荐阅读
- 模拟人生安卓登录不了,模拟人生安卓登录不了了
- linux命令测usb,linux命令测试题
- 坐在路由器边有什么影响,坐在路由器边上辐射大吗
- 怎么加入钉钉的直播间,怎么加入钉钉直播群
- php主键怎么删除数据 php删除按钮
- 中兴机顶盒安卓系统升级,中兴机顶盒刷安卓系统
- 大班户外多人体育游戏名称,大班户外集体游戏名称
- word里的方框怎么打钩,word方框怎么弄打钩
- mysql数据库慢怎么办 mysql 速度慢