0

@ http://code.google.com/p/dot-net-transitions/にある .net トランジション ライブラリを使用して、いくつかのトランジション コーディングを行っています。トランジションが完了したときに発生するイベントを追加しようとしています。私のサブには、次のステートメントがあります。

Private Sub btnLogin_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

If md5Password = rtnPassHash Then

                AddHandler Me.TransitionCompletedEvent, AddressOf theHandlerFunction

                Dim tr_empID = New Transition(New TransitionType_Linear(500))
                tr_empid.add(txtEmployeeID, "BackColor", Color.LightGreen)

                Dim tr_passw = New Transition(New TransitionType_Linear(500))
                tr_passw.add(txtPassword, "BackColor", Color.LightGreen)

                tr_empID.run()
                tr_passw.run()
                AddHandler Me.TransitionCompletedEvent, AddressOf theHandlerFunction

                Dim tr_empID = New Transition(New TransitionType_Linear(500))
                tr_empid.add(txtEmployeeID, "BackColor", Color.LightGreen)

                Dim tr_passw = New Transition(New TransitionType_Linear(500))
                tr_passw.add(txtPassword, "BackColor", Color.LightGreen)

                tr_empID.run()
                tr_passw.run()

end if

end sub

そのサブの外には、次のものがあります。

Public Event TransitionCompletedEvent As EventHandler(Of Transition.Args)

Private Sub theHandlerFunction(ByVal sender As Object, ByVal args As Transition.Args) Handles Me.TransitionCompletedEvent
    MsgBox("Event Fired")

End Sub

ただし、遷移が終了した後、イベントは発生しません。これはなぜでしょうか?

4

1 に答える 1

1

基本デザイン:

Public Class Transition
  Public Event TransitionCompleted(args As Transition.Args)
  Public Sub SomeSub()
    RaiseEvent TransitionCompleted(New Transition.Args With {set some properties})
  End Sub
  ...
End Class

Public Class Form1
 Private transition1 As New Transition
 Private Sub Login_Click(...) ...
  ...
  Addhandler transition1.TransitionCompleted, AddressOf TransitionCompleted
 End Sub

 Private Sub TransitionCompleted(args As Transition.Args) ' no handles clause
   MessageBox.Show("event fired")
 End Sub
End Class
于 2013-08-05T19:41:24.693 に答える