Что такое VB.NET-эквивалент этого кода на C # для подключения и объявления события? - PullRequest
5 голосов
/ 26 мая 2010

Я работаю над учебником по созданию медиаплеера в Silverlight и пытаюсь подключить EventHandler к событию timer.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;
     }
}

1 Ответ

15 голосов
/ 26 мая 2010

Как это:

AddHandler timer.Tick, AddressOf timer_Tick

В качестве альтернативы

Private WithEvents timer as DispatcherTimer


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

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...