什么是用于连接和声明事件的C#代码的VB.NET等价物?

Ben*_*ack 5 .net c# vb.net silverlight events

我正在制作一个在Silverlight中构建媒体播放器教程,我正在尝试连接到一个对象EventHandlertimer.Tick事件,DispatchTimer以便视频的时间与一个Slider对象同步.

示例代码是在C#中,我不能在我的生活中找出VB.NET中的正确语法RaiseEvent和/或Handles连接事件.以下是相关的C#代码.我会在我被困的地方加上评论.

private DispatchTimer timer;

public Page()
{
    //...
    timer = new DispatchTimer();
    timer.Interval = TimeSpan.FromMilliseconds(50);
    timer.Tick += new EventHandler(timer_Tick); // <== I get stuck here b/c
        // I can't do "timer.Tick += ..." in VB.NET
}

void timer_Tick(object sender, EventArgs e)
{
     if (VideoElement.NaturalDuration.TimeSpan.TotalSeconds > 0)
     {
         sliderScrubber.Value = VideoElement.Position.TotalSeconds /
             VideoElement.NaturalDuration.TimeSpan.TotalSeconds;
     }
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 15

像这样:

AddHandler timer.Tick, AddressOf timer_Tick
Run Code Online (Sandbox Code Playgroud)

或者,

Private WithEvents timer as DispatcherTimer


Sub timer_Tick(sender As Object, e As EventArgs) Handles timer.Tick

End Sub
Run Code Online (Sandbox Code Playgroud)