RaiseEvent没有开火...... [英] RaiseEvent not firing...
问题描述
使用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.comschriebPrivate 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屋!