自定义事件(自定义事件可以用于子组件向父组件

民俗风情 2025-06-15 11:22www.198689.com民俗风情

关于自定义事件,其涵盖的内容丰富多样,简要概括有如下几点。

除了浏览器为我们提供的原生事件之外,为了满足特定的需求,如小模块间的通信、信息传递等,我们有时需要自定义事件。JavaScript为我们提供了创建自定义事件的方式,其中之一就是通过Event()构造函数。

接下来,关于如何触发自定义事件。在emits节点下声明的自定义事件,可以通过this.$emit('自定义事件的名称')的方法进行触发。例如,在Counter组件中,我们可以这样操作:当模板显示为“Counter 组件{{ count }}+1”时,通过触发自定义事件来使count值增加。

包含自定义事件的类模块还需要包含一个唤起事件的公有方法。这个方法通过调用RaiseEvent语句并传入为事件定义的任何参数来唤起事件。这些参数会按顺序传入,以供响应事件的过程使用。

分享一句鼓舞人心的话:这个世界上没有绝对正确的选择,我们只有通过努力奋斗,才能让当初的选择变得正确。

《VBA中类的解读及应用》教程是我推出的第五套教程,目前已经是第一版的修订版。这套教程定位高级,适合那些已经学完初级和中级教程的学员。

类是抽象的,但具有极高的研究价值。随着我们深入学习和应用VBA,理解这些抽象的理论知识变得尤为重要。如对象、类、过程、方法、属性、事件、接口等,掌握这些理论不仅能深化我们对VBA这种寄生语言的认知,也能让我们对自然界许多事物有所感悟。这套教程的程序文件已经通过了32位和64位两种office系统的测试。

这套教程共两册,八十四讲,接下来会陆续推出修订后的教程内容。今天的内容是VBA类之工作表中响应自定义事件的测试。

第五十六讲:在EXCEL工作表中响应自定义事件6

我们继续上一讲的讲解,继续探讨如何监听工作表的事件。

第十一讲:工作表中自定义事件的实例讲解,四则运算的自动测验

最近的系列文章都在讲解工作表中自定义事件的监听和触发。本讲是这一系列的一课,我们将通过一个实例来完成讲解。这次实例是一个四则运算的自动测验程序。

1. 类模块初始化与工作表激活

当工作表被激活时,会进行一系列的初始化操作,包括设置工作表对象、清除指定范围的内容以及根据用户选择的难度等级生成随机数。

原代码:

```vba

Private WithEvents MyS As mysheet

Private Sub Worksheet_Activate()

Set MyS = New mysheet

Set MyS.mySht = Sheets("54")

Range("b3", "d15").ClearContents

CD = InputBox("请选择测试的难易程度A(容易),B(中等),C(难)", "提示")

' ... 根据CD的值设置mixa和maxb,并生成随机数 ...

End Sub

```

```vba

当工作表“54”被激活时,迎接你的将是一场全新的四则运算挑战!清除区域B3至D15的所有内容。接下来,请选择你的测试难度:容易、中等还是难。根据你的选择,我们将为你生成相应的随机数。

Private Sub Worksheet_Activate() As WorksheetActivateEvent

Dim难度等级 As String

难度等级 = InputBox("迎接四则运算挑战!请选择测试难度:A(容易)、B(中等)、C(难)", "挑战开始")

选择工作表对象并设置至"54"工作表。清除指定范围内容。根据难度等级生成随机数。具体逻辑如下:...(此处省略具体逻辑代码)...

End Sub

```

原代码:

```vba

Private Sub MyS_mySelectRan() Handles mySelectRanEvent

' ... 根据单元格中的运算符执行相应运算 ...

End Sub

当您的工作表被激活时,一段神秘的代码开始悄然执行。这并非简单的激活事件,而是关联了类的实例化与监听机制,确保了用户交互的流畅性。这一切都是为了实现一个目标:根据用户的测试难度选择,自动填充数值。

想象一下,您正在面对一张空白的工作表,只需点击某个事件或按钮,即可轻松启动测试功能。这时,一个对话框弹出,提示您选择测试的难易程度——容易、中等或难。这是代码的起点,为后续的数值生成铺设了道路。

选择“容易”级别时,数值生成的范围是介于10和20之间;选择“中等”时,数值会在20至50之间随机生成;当您选择“难”级别时,数值则会在50至100之间波动。这一切的背后,得益于一个强大的工作表函数——RandBeteen。它不仅确保了数值的随机性,还保证了准确性。这是代码的核心部分,负责实现用户输入的精准响应。

当代码运行时,不仅能在A列进行自动测验得到结果,还能通过工作表的特定事件触发和监听机制来动态调整数值生成的策略。整个过程不仅流畅,而且用户体验十分友好。只需简单的点击操作,即可启动测试,无需复杂的操作指令。

那么,关于本讲的几个关键问题:

1. 实例事件的触发是在类模块的哪个部分?答案是:在工作表被激活时触发。

2. 运算结果的数值是如何准确定位的?答案是:通过用户选择的难度等级和RandBeteen函数来准确定位数值范围。

这一切都浓缩在一个名为VBA-CLASS(51-56).xlsm的程序文件中。而背后的技术支持,则是我20多年的VBA实践经验与知识的结晶。希望这些分享的成果能为您带来正能量,助您在人生的航程中,无论遇到何种逆境,都能坚定内心,破浪前行。

上一篇:河间车祸 河间事故组电话多少 下一篇:没有了

Copyright © 2016-2025 www.198689.com 奇技网 版权所有 Power by