VB 在类模块中调用窗口模块的EVENT的办法,请指点,感激不尽

窗体模块Form1PublicEventLoginRequest(ByValuseridAsString)PrivateSubCommand1_Click()RaiseE... 窗体模块 Form1
Public Event LoginRequest(ByVal userid As String)
Private Sub Command1_Click()
RaiseEvent LoginRequest("123456")
End Sub
类模块 Class1
Public WithEvents mLogin As Form1
Private Sub mfrmLogin_LoginRequest(ByVal userid As String)
mLogin.Text1.Text = userid
End Sub
Private Sub Class_Initialize()
Set mLogin = New Form1
End Sub

所要结果 : 我想在 Class1类模块中 调用 Form1模块里的
自定义EVENT LoginRequest 但是好像少了点什么。总之运行不起来。
(我知道可以直接给Text1.Text 赋值,但是想知道自定义EVENT的运用 ,所以)

问题1. 我所用的术语是否正确 比如--> 自定义EVENT 这个词用的正确吗?(因为我在网上搜的时候找不到相关的信息。我觉得可能是我用的关键字有问题。)
问题2. 想请高手指点 我所写的部分少了什么部分,或者错在哪里?
暂且以上。麻烦高手指点
我不太清楚,我到底有没有分。我随便把分选上了。我不想骗眼球。谢谢
不能在 类中调用 窗体的 Event 吗?? 我看到有人这么写了啊!
展开
 我来答
百度网友01b802e
2010-09-25 · TA获得超过339个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:310万
展开全部
窗体也是类,所以类中响应窗体自定义事件也是可以的...
不过楼主的代码逻辑有问题,代码也有问题,类要创建实例才行:

'----------------------- '窗体代码:-----------------------

Option Explicit
'声明事件
Public Event LoginRequest(ByVal userid As String)
'声明启动事件的过程
Public Sub StartTest()
RaiseEvent LoginRequest("123456")
End Sub
'实例化类
Private Sub Command1_Click()
Dim cls As Class1
Set cls = New Class1
End Sub

'-----------------------------------------------------------

'------------------------ '类代码 --------------------------

Option Explicit

Public WithEvents mLogin As Form1
'响应窗体Form1的事件
Private Sub mLogin_LoginRequest(ByVal userid As String)
mLogin.Text1.Text = userid
End Sub
'实例化mLogin,并执行mLogin.StartTest方法
Private Sub Class_Initialize()
Set mLogin = Form1 '指向Form1,不能用new...
mLogin.StartTest
End Sub

'-----------------------------------------------------------
swx1995
2010-09-24 · TA获得超过2696个赞
知道大有可为答主
回答量:1477
采纳率:0%
帮助的人:2361万
展开全部
应该由窗体调用类的Event……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式