打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA高级编程:向窗体添加事件 - 扑奔PPT网

Excel VBA高级编程:向窗体添加事件

下面的循序渐进的过程显示了如何给窗体创建自定义事件。要试用此练习,可打开一个新的“标准 EXE”工程,并按如下面步骤去做:

要将事件添加到Form1 中,请按照以下步骤执行:

  1. “工程”菜单上,选择“添加类模块”,将类模块添加到工程中。将下面的代码放置到 Class1 的“声明”部分:
    Public Property Get Form1() As Form1    Set Form1 = mForm1    End Property    Public Property Set Form1(ByVal NewForm1 As Form1)    Set mForm1 = NewForm1    End Property

    如果使用过程视图,则不能同时查看属性过程。单击代码窗口左下角的全模块视图按钮,转换到全模块视图。单击过程视图旁边的过程视图按钮,可以返回过程视图。(将鼠标在各个按钮上移动一下,看看哪个是哪个。)

  2. 将下面的代码添加到 Form1 的“声明”部分:
    Event Gong    Private mc1 As Class1

    因为已经创建了 Class1,所以创建 Class1 类型的变量是可能的。这个过程要在 Form1 和 Class1 之间切换几次,因为在模块中的操作步骤,需要首先给另一个模块添加代码。

  3. 返回 Class1,并将下面的代码添加到“声明”部分。
    Private WithEvents mForm1 As Form1

    就象在“向类中添加事件”所讨论的那样,WithEvents 关键字意味着 Form1 的这个实例是与事件相关联的。注意,这一步成为可能,要到已经创建了 Gong 事件。

  4. 在 Class1 的“代码”窗口上的左边“对象”下拉菜单上,选择“mForm1”来为 Gong 事件得到事件过程。将下面的代码添加到该事件过程中:
    Private Sub mForm1_Gong()    MsgBox "Gong!"    End Sub
  5. 返回 Form1。在“对象”下拉菜单上,选择“添加窗体”,在右边“过程”下拉菜单上,选择“加载”。将下面的代码添加到事件过程中:
    Private Sub Form_Load()    Set mc1 = New Class1    Set mc1.Form1 = Me    End Sub

    第一行创建了一个 Class1 对象,而第二行则将对 Form1 (也就是说,是 Me - 在 Form1 的“代码窗口中,Me 指的是 Form1;而在 Class1 的“代码”窗口中,Me 指的是 Class1)的引用赋给其 Form1 属性(在第一步所创建的)。

  6. 将三个文本框放置到 Form1 上。在“对象”“过程”下拉菜单上,依次为每个控件选择“Change”事件过程,并将相同代码行放置到它们中的每个里面:
    Private Sub Text1_Change()    RaiseEvent Gong    End Sub

    每次当某个文本框的内容改变时,都将引发窗体的 Gong 事件。

  7. 按 F5 键,运行工程。每次在其中一个文本框内键入字符时,信息框都将响铃。这是很令人恼火的,但它显示了怎样将一个事件添加到窗体中,然后从几个控件得到通知。

就象在上面的“声明和引发事件”所述,可以将参数添加到事件中。例如,可能将控件名—或者更好是用对控件的引用—传递给事件的接收者。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何:创建 C# Windows 窗体应用程序
VB技巧--如何提升VB程序运行时的速度?
C# 新冠肺炎全国疫情实时信息图
C# 爬虫:疫情实时信息图
用代码调用窗体
VB.NET学习笔记:窗体显示及互相传值
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服