扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
raiseevent
十余年的庆云网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整庆云建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“庆云网站设计”,“庆云网站推广”以来,每个客户项目都认真落实执行。
在合适的地方或时机触发事件,以执行已与该事件绑定的所有函数。
事件一旦被触发,将执行所有与该事件有关的函数,同一个事件执行的函数代码可以完全不同,开发者可以通过一个事件去做不同的事情。
——
开发一个按钮类,并定义好一个点击事件,通过用户点击按钮类来触发事件,最后创建两个按钮的实例:按钮1和按钮2。
点击按钮1,点击事件执行弹出一个消息框的代码。
点击按钮2,点击事件执行打开一个文件的代码。
若点击按钮不触发事件,而是执行某一定义好的函数paly,在点击后,按钮1和按钮2将只能执行相同的函数play。
浅见,通过一个事件可以做不同的事情,通过一个函数只可以做该函数规定的事情,除非每次都去修改函数,如果拥有该事件的类\控件是别人开发的,在别人没有提供源代码的情况之下,那根本不可能修改。
我一开始也是这样,很迷惑,在使用一段时间后,就基本了解了:
Button1_Click是函数名,可以随便改,而Vb6一个字都不能变
sender是System.Object类型的变量,代表控件对象,当此事件对应多个按钮点击事件时,就要用sender来区分,而VB6用控件数组中的index来区分
e是System.EventArgs类型的变量,代表一个委托声明,是包含事件数据的类的基类,用于传递事件的细节,你暂时不用理会这是什么意思,以后慢慢会了解的
简单点说就是对象sender导致了某个事件的发生,事件的内容就是(e)
handles是一个委托,相当于由handles后面的参数间接引发事件,以你的例子就是Button1的Click事件引发这个函数的调用,你还可以添加别的按钮甚至别的事件进来:
Private Sub MyExampleClickEvent(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.DoubleClick, PictureBox1.MouseDown
' Button1单击事件、Button2双击事件、PictureBox1鼠标按下事件共享同一个MyExampleClickEvent过程。
TextBox1_TextChanged() 'TextBox1.text属性改变时发生
Label1_Click() 'Label1被鼠标点击时发生
MenuItem1_Click() 'MenuItem1被鼠标点击时发生
Label1_MouseDown() '鼠标左键在Label1上按下时发生
Label1_DoubleClick() '有点难我也不太清楚,在MSDN上查了下:
双击操作由用户操作系统的鼠标设置确定。用户可以设置两次单击鼠标按钮之间的时间以便将这两次单击认为是双击而不是两次单击。每当双击控件时,就会引发 Click 事件。例如,如果您有 Form 的 Click 和 DoubleClick 事件的事件处理程序,则当双击该窗体并同时调用这两个方法时,会引发 Click 和 DoubleClick 事件。如果双击一个控件并且该控件不支持 DoubleClick 事件,则 Click 事件可能被引发两次。
Label1_MouseUp() '鼠标左键在Label1上放开时发生,一般与Label1_MouseDown()搭配使用
TextBox2_MouseMove() '鼠标停留在TextBox2上时发生
Form1_load() '加载窗体时发生
Form1_click() '点击窗体时发生
Form1_Resize() '窗体调整大小后发生
Form1_KeyPress() '当窗体有焦点键盘有操作时发生
Form1_KeyDown() '当窗体具有焦点并键盘有按键按下时发生
Form1_KeyUp() '当窗体焦点并键盘有按键放开时发生
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流