RaiseEvent没有开火...... [英] RaiseEvent not firing...

查看:71
本文介绍了RaiseEvent没有开火......的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用VS2005,VB.NET,

我正在开发一个Windows应用程序。该应用程序打开几个

表格。虽然表单是开放的,但我想提出一些事件,例如

日志记录错误 - 但是我调用了RaiseEvent,没有任何反应。下面是

一些显示我在做什么的代码片段。有人可以拉直吗?我觉得这一定很简单......


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

公共类frmMain

''在我的主要表格中,我声明我的表格有事件,所以我可以处理它们

以后...

私有WithEvents frmErrLog as frmErrorLog


Private Sub btnTest_Click(ByVal sender)作为

System.Object,ByVal e As System.EventArgs)处理btnTest.Click

''在我的主窗体中,我创建另一个窗体的新实例,然后打开

it。

frmLogin = new frmDomainLogin(Me)

frmLogin.ShowDialog(Me)''在这里等待

直到表单关闭...

结束子


私有子frmErrLog_LogError(ByVal strMethod

As String,ByVal strMessage As String)处理frmErrLog.LogError

''在我的主表单中,我想捕获从另一个引发的事件

表格......但是这段代码永远不会被执行......为什么不呢?

Msgbox(记录错误: &

vbnewline& strMethod& vbnewline& strMessage)

结束次级

结束班级

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


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

公共类frmDomainLogin

''所以,在这里我宣布我的活动,以后再使用......

公共事件LogError(someParameter)作为对象)


Private Sub frmDomainLogin_Load(ByVal发送者

作为对象,ByVal e As System.EventArgs)处理Me.Load

RaiseEvent LogError(现在&"

提高测试事件......)

结束子


结束课程

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

解决方案

使用VS2005,VB.NET,

我正在开发一个Windows应用程序。该应用程序打开几个

表格。虽然表单是开放的,但我想提出一些事件,例如

日志记录错误 - 但是我调用了RaiseEvent,没有任何反应。下面是

一些显示我在做什么的代码片段。有人可以拉直吗?我觉得这一定很简单......


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

公共类frmMain

''在我的主要表格中,我声明我的表格有事件所以我可以处理它们

以后...

Private WithEvents frmLogin as frmDomainLogin


Private Sub btnTest_Click(ByVal sender)作为

System.Object,ByVal e As System.EventArgs)处理btnTest.Click

''在我的主窗体中,我创建另一个窗体的新实例,然后打开

it。

frmLogin = new frmDomainLogin(Me)

frmLogin.ShowDialog(Me)''在这里等待

直到表单关闭...

结束子


私有子frmErrLog_LogError(ByVal strMethod

As String,ByVal strMessage As字符串)处理frmErrLog.LogError

''在我的主表单中,我想要捕获从其中提出的事件呃

表格...但是这段代码永远不会被执行......为什么不呢?

Msgbox(记录错误: &

vbnewline& strMethod& vbnewline& strMessage)

结束次级

结束班级

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


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

公共类frmDomainLogin

''所以,在这里我宣布我的活动,以后再使用......

公共事件LogError(someParameter)作为对象)


Private Sub frmDomainLogin_Load(ByVal发送者

作为对象,ByVal e As System.EventArgs)处理Me.Load

RaiseEvent LogError(现在&"

提高测试事件......)

结束子


结束课程

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


使用VS2005,VB.NET,

我正在开发一个Windows应用程序。该应用程序打开几个

表格。虽然表单是开放的,但我想提出一些事件,例如

日志记录错误 - 但是我调用了RaiseEvent,没有任何反应。下面是

一些显示我在做什么的代码片段。有人可以拉直吗?我觉得这一定很简单......


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

公共类frmMain

''在我的主要表格中,我声明我的表格有事件所以我可以处理它们

以后...

Private WithEvents frmLogin as frmDomainLogin


Private Sub btnTest_Click(ByVal sender)作为

System.Object,ByVal e As System.EventArgs)处理btnTest.Click

''在我的主窗体中,我创建另一个窗体的新实例,然后打开

it。

frmLogin = new frmDomainLogin(Me)

frmLogin.ShowDialog(Me)''在这里等待

直到表单关闭...

结束子


私有子frmErrLog_LogError(ByVal strMethod

As String,ByVal strMessage As字符串)处理frmErrLog.LogError

''在我的主表单中,我想要捕获从其中提出的事件呃

表格...但是这段代码永远不会被执行......为什么不呢?

Msgbox(记录错误: &

vbnewline& strMethod& vbnewline& strMessage)

结束次级

结束班级

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


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

公共类frmDomainLogin

''所以,在这里我宣布我的活动,以后再使用......

公共事件LogError(someParameter)作为对象)


Private Sub frmDomainLogin_Load(ByVal发送者

作为对象,ByVal e As System.EventArgs)处理Me.Load

RaiseEvent LogError(现在&"

提高测试事件......)

结束子


结束课程

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


" hzgt9b" < ce ****** @ gmail.comschrieb


Private WithEvents frmLogin as frmDomainLogin


frmLogin = new frmDomainLogin(Me)


Private Sub frmErrLog_LogError(ByVal

strMethod As String,ByVal strMessage作为字符串)句柄

frmErrLog.LogError''在我的主表单中,我想要捕获从其他表单中引发的事件

...但此代码永远不会被执行...

为什么不呢?



" Handles frmErrLog.LogError":上面你写的是frmLogin,而不是frmErrLog。

这个帖子意外发生了吗?

Armin


Using VS2005, VB.NET,
I am developing a windows app. The application opens a couple of
forms. While the forms are open I want to raise some events, such as
logging errors - but I call RaiseEvent, nothing happens. Below are
some code snippets that show what I am doing. Can someone straighten
me out... I feel like this must be something real simple...

''------------------------------------------------------------------------------
Public Class frmMain
''In my main form, I declare my form with events so I can handle them
later...
Private WithEvents frmErrLog As frmErrorLog

Private Sub btnTest_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
''In my main form, I create a new instance of another form, then open
it.
frmLogin = New frmDomainLogin(Me)
frmLogin.ShowDialog(Me) ''Wait here
till the form closes...
End Sub

Private Sub frmErrLog_LogError(ByVal strMethod
As String, ByVal strMessage As String) Handles frmErrLog.LogError
''In my main form, I want to catch the events raised from the other
form... but this code never gets executed... why not?
Msgbox("Logging error:" &
vbnewline & strMethod & vbnewline & strMessage)
End Sub
End Class
''------------------------------------------------------------------------------

''------------------------------------------------------------------------------
Public Class frmDomainLogin
''So, here I declare my event, for use later...
Public Event LogError(someParameter as Object)

Private Sub frmDomainLogin_Load(ByVal sender
As Object, ByVal e As System.EventArgs) Handles Me.Load
RaiseEvent LogError(Now & "
raising test event...")
End Sub

End Class
''------------------------------------------------------------------------------

解决方案

Using VS2005, VB.NET,
I am developing a windows app. The application opens a couple of
forms. While the forms are open I want to raise some events, such as
logging errors - but I call RaiseEvent, nothing happens. Below are
some code snippets that show what I am doing. Can someone straighten
me out... I feel like this must be something real simple...

''------------------------------------------------------------------------------
Public Class frmMain
''In my main form, I declare my form with events so I can handle them
later...
Private WithEvents frmLogin As frmDomainLogin

Private Sub btnTest_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
''In my main form, I create a new instance of another form, then open
it.
frmLogin = New frmDomainLogin(Me)
frmLogin.ShowDialog(Me) ''Wait here
till the form closes...
End Sub

Private Sub frmErrLog_LogError(ByVal strMethod
As String, ByVal strMessage As String) Handles frmErrLog.LogError
''In my main form, I want to catch the events raised from the other
form... but this code never gets executed... why not?
Msgbox("Logging error:" &
vbnewline & strMethod & vbnewline & strMessage)
End Sub
End Class
''------------------------------------------------------------------------------

''------------------------------------------------------------------------------
Public Class frmDomainLogin
''So, here I declare my event, for use later...
Public Event LogError(someParameter as Object)

Private Sub frmDomainLogin_Load(ByVal sender
As Object, ByVal e As System.EventArgs) Handles Me.Load
RaiseEvent LogError(Now & "
raising test event...")
End Sub

End Class
''------------------------------------------------------------------------------


Using VS2005, VB.NET,
I am developing a windows app. The application opens a couple of
forms. While the forms are open I want to raise some events, such as
logging errors - but I call RaiseEvent, nothing happens. Below are
some code snippets that show what I am doing. Can someone straighten
me out... I feel like this must be something real simple...

''------------------------------------------------------------------------------
Public Class frmMain
''In my main form, I declare my form with events so I can handle them
later...
Private WithEvents frmLogin As frmDomainLogin

Private Sub btnTest_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
''In my main form, I create a new instance of another form, then open
it.
frmLogin = New frmDomainLogin(Me)
frmLogin.ShowDialog(Me) ''Wait here
till the form closes...
End Sub

Private Sub frmErrLog_LogError(ByVal strMethod
As String, ByVal strMessage As String) Handles frmErrLog.LogError
''In my main form, I want to catch the events raised from the other
form... but this code never gets executed... why not?
Msgbox("Logging error:" &
vbnewline & strMethod & vbnewline & strMessage)
End Sub
End Class
''------------------------------------------------------------------------------

''------------------------------------------------------------------------------
Public Class frmDomainLogin
''So, here I declare my event, for use later...
Public Event LogError(someParameter as Object)

Private Sub frmDomainLogin_Load(ByVal sender
As Object, ByVal e As System.EventArgs) Handles Me.Load
RaiseEvent LogError(Now & "
raising test event...")
End Sub

End Class
''------------------------------------------------------------------------------


"hzgt9b" <ce******@gmail.comschrieb

Private WithEvents frmLogin As frmDomainLogin

frmLogin = New frmDomainLogin(Me)

Private Sub frmErrLog_LogError(ByVal
strMethod As String, ByVal strMessage As String) Handles
frmErrLog.LogError ''In my main form, I want to catch the events
raised from the other form... but this code never gets executed...
why not?

"Handles frmErrLog.LogError": Above you write frmLogin, not frmErrLog. Is
this accidently in this posting?
Armin


这篇关于RaiseEvent没有开火......的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆