Jag har en winform där jag har följande kod:
private Timer Clock;
public void LoadUser(int userid)
{
//.....kod
this.StartClock();
}
private void Form1_Load(object sender, System.EventArgs e)
{
CheckForUpdate(false);
Clock = new Timer();
}
private void Timer_Tick(object sender, System.EventArgs e)
{
this.StopClock();
Kundregister.Controls.LasningPopUp f = new Kundregister.Controls.LasningPopUp();
f.ShowDialog(this);
}
public void StartClock()
{
this.Clock.Interval=1200000;
this.Clock.Tick+=new EventHandler(Timer_Tick);
this.Clock.Start();
}
public void StopClock()
{
this.Clock.Stop();
}
public void CloseUser()
{
//...kod
MessageBox.Show("Kunden har stängts!");
}
Kundregister.Controls.LasningPopUp ser ut så här:
private int i=0;
private Timer Clock;
private void LasningPopUp_Load(object sender, System.EventArgs e)
{
i = 20;
Clock = new Timer();
this.StartClock();
}
private void StartClock()
{
i = 20;
this.Clock.Start();
this.Clock.Interval=1000;
this.Clock.Tick+=new EventHandler(Timer_Tick);
}
private void Timer_Tick(object sender, System.EventArgs e)
{
i=i-1;
lblLasning.Text = i.ToString()+ " sekunder";
if(i==0)
{
this.StopClock();
this.Close();
((Form1)this.Owner).CloseUser();
}
}
private void StopClock()
{
this.Clock.Stop();
}
private void ultraButton2_Click(object sender, System.EventArgs e)
{
this.StopClock();
this.Close();
((Form1)this.Owner).CloseUser();
}
private void ultraButton1_Click(object sender, System.EventArgs e)
{
this.StopClock();
this.Close();
((Form1)this.Owner).StartClock();
}
Av någon konstig anledning så kommer fönstret LasningPopUp upp på nytt ibland när man klickar på ultraButton2 eller när i==0, ibland kommer det upp 5 ggr på raken. Har testat allt möjligt men nu kan jag inte se nått som kan orsaka att det poppar upp igen.
Nån som kan Timern och vet vad orsaken kan vara?