private void PlayerClockInPanelControl_Load(object sender, EventArgs e)
{
InitializedMouseDownEvent();
}
private void InitializedMouseDownEvent()
{
aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 2000;
aTimer.Enabled = true;
}
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
this.ShowErrorMessage("Hello");
aTimer.Stop();
}
private void picturebox_MouseDown(object sender, EventArgs e)
{
aTimer.Start();
}
private void picturebox_MouseUp(object sender, EventArgs e)
{
aTimer.Stop();
}
Моя идея была, таймер должен начинаться только тогда, когда событие MouseDown
уволено, но теперь, как только форма загружается, он отображает «Привет» каждую секунду. Как упоминалось в коде, только aTimer.Start()
вызывается во время события MouseDown
. Могу я узнать, что случилось?Timer.start() неожиданно?
[Установка 'aTimer.Enabled = true' такое же, как вызов' aTimer.Start() '] (https://msdn.microsoft.com/en-us/library/system .timers.timer.enabled (v = vs.110) .aspx). Попробуйте удалить эту строку из метода InitializedMouseDownEvent(). –