2010-05-26 7 views
5

Ich arbeite an einem tutorial to build a media player in Silverlight und versuche, ein EventHandler an das timer.Tick Ereignis eines DispatchTimer Objekts zu verkabeln, so dass die Zeit des Videos mit einem Slider Objekt synchronisiert wird.Was ist das VB.NET-Äquivalent dieses C# -Codes zum Verkabeln und Deklarieren eines Ereignisses?

Der Beispielcode ist in C# und ich kann nicht für das Leben von mir herausfinden, die richtige Syntax in VB.NET mit RaiseEvent und/oder Handles, um das Ereignis zu verkabeln. Unten ist der relevante C# -Code. Ich werde Kommentare hinzufügen, wo ich stecken bleibe.

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; 
    } 
} 

Antwort

15

So:

AddHandler timer.Tick, AddressOf timer_Tick 

Alternativ

Private WithEvents timer as DispatcherTimer 


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

End Sub 
+0

Dank für die schnelle Antwort! –

Verwandte Themen