2016-04-20 3 views
0

Я хочу построить функцию для удерживания кнопки в C#. В настоящее время это выглядит следующим образом:Таймер, запущенный в событии MouseDown, не выполняет функцию Tick

private Timer timer1 = new Timer(); 

private void cmd_haken_auf_ab_MouseDown(object sender, MouseEventArgs e) 
{ 
    Console.WriteLine("works"); 
    timer1.Enabled = true; 
    timer1.Start(); 

} 

private void cmd_haken_auf_ab_MouseUp(object sender, MouseEventArgs e) 
{ 
    Console.WriteLine("works too"); 
    timer1.Stop(); 
} 


private void timer1_Tick(object sender, EventArgs e) 
{ 
    Console.WriteLine("works as well"); 
    cmd_p4.Height += 1; 

} 

Но appearently моя timer1_Tick функция никогда не выполняется, так как выход:

works 
works too 
works 
works too 
+2

Что задержка вы имеете на таймер - это не показывает здесь – BugFinder

+0

Вы никогда не зацепили ваше мероприятие тиков, по крайней мере, из кода вы предоставили – Rob

+0

я действительно забыл установить таймер и связать функцию Tick ... Спасибо, что намекнул мне в правильном направлении :) –

ответ

0

упоминания таймер tick_event для таймера и добавить таймер interval.

timer1.Interval = 1000; timer1.Tick+=timer1_Tick;

0

Добавить в конструкторе:

timer1.Tick += new timer1_Tick(TimerEventProcessor); 

Это должно привести к вызову каждый тик вашего таймера. Если не будет работать, установить интервал таймера, как

timer1.Interval = 1; // 1ms interval 
Смежные вопросы