我正在使用此库进行转换:https://code.google.com/p/dot-net-transitions/
它表示当转换完成时由后台转换线程引发它。虽然它没有被提升。另外,如何指定要引发事件的转换?
我正在尝试在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)
要触发转换处理程序,必须添加事件处理程序:
AddHandler tr_form. TransitionCompletedEvent, AddressOf theHandlerFunction
实际上你还必须存储tr_form,所以稍后你可以在创建一个新的转换时删除这个处理程序,否则你会有内存泄漏,除非你再次重启你创建/挂钩一次的相同转换。