2013-05-30 17 views
0

我使用這個庫轉換:https://code.google.com/p/dot-net-transitions/的TransitionCompletedEvent沒有被提出

我想處理此事件:https://code.google.com/p/dot-net-transitions/wiki/CodingWithTransitions#Using_the_TransitionCompletedEvent

它說,它通過後臺線程轉型時提出的過渡conpleted。它並沒有被提出。另外,你如何指定你想要提升事件的轉換?

我想在VB中編碼但它不工作。任何人都可以給我一個它如何完成的例子嗎?

這是相關位:

轉換是異步運行。如果您需要知道轉換何時完成,您可以使用TransitionCompletedEvent進行註冊。當轉換完成時,這是從Transition的後臺線程引發的。如果您的事件處理程序位於UI對象(如窗體)上,則該事件將自動封送到UI線程。

這裏是我的代碼:

Public Sub ClosingTranstitions() 
    Opacity = 1 

    Dim tr_form = New Transition(New TransitionType_EaseInEaseOut(200)) 
    tr_form.add(Me, "Opacity", 0.0) 

    Dim tr_Title = New Transition(New TransitionType_EaseInEaseOut(200)) 
    tr_Title.add(Title, "Left", 0) 

    Dim tr_Content = New Transition(New TransitionType_EaseInEaseOut(300)) 
    tr_Content.add(Content, "Left", -10) 

    tr_Title.run() 
    tr_form.run() 
    tr_Content.run() 

End Sub 

Public Event TransitionCompletedEvent As EventHandler(Of Transition.Args) 'This event is raised when transitions are complete 

Private Sub theHandlerFunction(sender As Object, args As Transition.Args) Handles Me.TransitionCompletedEvent 
    MsgBox("Closing") 
End Sub 

感謝。

任何??

+0

你可以發佈你試過的代碼嗎? –

+0

@BrantOlsen我將我的代碼添加到了原始文章中。 – Ivel97

回答

0

在過渡處理程序來觸發,你必須添加一個事件處理程序:

AddHandler tr_form. TransitionCompletedEvent, AddressOf theHandlerFunction 

事實上,你也必須存儲tr_form,這樣以後就可以創建一個新的轉變時,刪除該處理程序,否則你將有內存泄漏,除非您再次重新啓動與創建/掛接一次相同的轉換。

+0

謝謝,Vincent Piel。有用。 – Ivel97