调用带参数的方法
问题描述:
我想在动画结束时调用方法。我使用这种说法:调用带参数的方法
AddHandler anim.Completed, AddressOf anim_completed
但我想anim_completed子是与参数。任何想法如何做到这一点?
答
简单的解决方案。使用匿名事件处理程序,那么您将能够直接访问Ellipse对象。
Dim target As Ellipse = Nothing
AddHandler anim.Completed, Sub()
If target IsNot Nothing Then
End If
End Sub
答
您的委托/方法需要与事件具有相同的签名。但在这个事件中,你可以打电话给你想要的东西。
AddHandler anim.Completed, AddressOf onAnimCompleted
Sub onAnimCompleted(sender As Object, e As EventArgs)
Dim target As New Ellipse
anim_completed(target)
End Sub
+0
但我想通过一个现有的椭圆 – Eae
+0
@Eae不像我的例子那样创建一个新的椭圆,你可以得到一个现有的椭圆。 –
只需将参数添加到子...我不明白。此外,你是方法名称需要工作。上骆驼案件。 –
你为什么会认为我没有尝试?无论如何,如果我将参数添加到子我得到这个:'公共小组anim_completed(目标作为椭圆)'没有签名兼容委托'委托小组EventHandler(发件人为对象,e作为EventArgs)“。 – Eae
[已完成](https://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed(v = vs.110).aspx)是一个事件,需要一个处理程序方法拥有固定的签名。你不能改变这一点。 – Clemens