vb.net - 在另一个表单上引发事件
问题描述
我在 VB.Net 中有两个单独的表单(用户控件 A 和 B)。当一个按钮点击 formB 时,我想要一个在 formA 上引发的事件。怎么能这样做?我搜索了 stackoverflow.com 并检查了几个相关的解决方案,但它们对我不起作用。我不知道是什么问题!请帮我。例如,我尝试了以下代码:
甲型:
Dim MyEditForm As New ucEmployeeTimeEdit
'some code for showing and preparing MyEditForm
Private Sub GetSomeClick() Handles MyEditForm.MyClick
System.Console.WriteLine("test")
End Sub
形式B:
Public Event MyClick()
Private Sub BtnDelet_Click(sender As Object, e As EventArgs) Handles btnDelet.Click
RaiseEvent MyClick()
End Sub
解决方案
虽然 Idle_Mind 的答案很棒,但这是一种具有不同优势的替代方法。(编辑:我刚刚注意到他也提到了这一点,所以你可以认为这是对这个主题的阐述)
如果您将 FormB 作为 FormA 中的模态变量,您可以告诉 VB 您要使用它的事件。这里有一些骨架代码向您展示:
Public Class FormA
Private WithEvents myFormB As FormB
'rest of the code for FormA
'you can use FormB's events like this
Private Sub GetSomeClicks() Handles myFormB.MyClick
'code code code
End Sub
End Class
Public Class FormB
Public Event MyClick()
End Class
玩得开心!
推荐阅读
- python - Python 作为字典或 JSON 登录文件
- sql-server - How to fill DataTable from multiple tables?
- grails - grails 3.3 detachedcriteria appears to give incorrect result
- javascript - 空检查对象不起作用
- c++ - c++迭代器类型
- angular - Angular:如何从不同模块中的另一个组件调用组件方法
- java - 如何将子类成员的类型视为它自己的类型而不是 Java 中的父类型?
- javascript - Dynamic Select Box Dependent Using MySQL Database
- c# - Is it possible to force MSBuild to Only Build A Project Once, Regardless of Properties?
- firebase - Firestore REST API : Push an object to an array value field