2012-03-08 5 views
0

У меня есть приложение, и я хочу запустить таймер обратного отсчета.Как подключить EventHandler к приложению Winforms?

Я создал EventHandler под разделяемым классом:

event EventHandler startTimer; 

И я написал функцию:

public void startTimerEvent(object sender, EventArgs e) 
{ 
    this.Invoke((MethodInvoker)delegate 
    { 
     timer.Start(); 
    }); 
} 

Как я могу зарегистрировать это в EventHandler и где я проволочный его в моем форме?

+1

Где «таймер» приходит в вашем методе 'startTimerEve'? (И почему у него такое странное имя?) Кроме того, ваш даже не является публичным. –

ответ

1

Итак, вам нужно выбрать событие, которое вызовет ваш обработчик. Допустим, у вас есть кнопка, и вы хотите обработать событие click. Вы могли бы написать:

myButton.Click += new EventHandler(StartWhatEver); 

Тогда вы бы иметь свой StartWhatEver, что делает то, что вы хотите.

private void StartWhatEver(object sender, EventArgs e) 
{ 
    // Do stuff... 
} 

Примечание: Если вы работаете в VS2010, вы можете ввести myButton.Click += (с пространством), а затем дважды нажмите «Tab» ключ и это создаст обработчик для вас автоматически включая сработавшей метод.

Надеюсь, это поможет.

+0

Вам не хватает 'new' в вашем первом фрагменте кода, и на самом деле не нужно иметь' new EventHandler'. 'myButton.Click + = SomeAmazingMethod' должен работать до тех пор, пока' SomeAmazingMethod' имеет правильную подпись. –

+0

Приветствия за это. Я знаю, что вы можете просто использовать '+ =', но я предпочитаю быть явным, особенно когда вы описываете методологию кого-то, что кажется крайне новым для этих функций. Всего наилучшего. – MoonKnight

+0

спасибо большое, теперь я понимаю, как это работает – user979033

2

Чтобы связать событие с обработчиком:

startTimer += startTimerEvent; 

Но я не совсем уверен, что это не лучший способ идти о решении вашей общей проблемы. Если бы вы могли более подробно описать, что вам нужно, возможно, мы могли бы предложить лучший способ.

+0

спасибо, что это поможет. – user979033

Смежные вопросы