Timer soll alle 10 Sekunden einen Event auslösen

Hallo zusammen,

ich habe eine Frage, die wahrscheinlich für die meisten nur Ärger auslöst, da dies wahrscheinlich für die meisten von euch sehr einfach zu lösen ist. Ich habe allerdings damit noch nicht so große Erfahrung und bitte somit nicht böse zu werden.

Ich möchte einen Timer in C# programmieren. Dieser soll gestartet werden, wenn ein Button1 angeklickt wird. Ab da, soll im 10 Sekunden Takt etwas passieren. beispielsweise soll alle 10 Sekunden eine MessageBox geöffnet werden oder der inhalt einer gridview liste in xml gespeichert werden.

wie bekomme ich es hin, einen Timer so zu programmieren, dass alle 10 Sekunden beispielsweise eine MessageBox angezeigt wird?

Viele Grüße
Marcela

Gib bei google „c# timer“ ein und folge den Anweisungen beim ersten Treffer.

public class Something
{
private System.Timers.Timer timer = new System.Timers.Timer();

public Something()
{
//hier im Konstruktor kann aber auch woanders erfolgen
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); //das Event registrieren
timer.Interval = 10000; //Event etwa alle 10s auslösen
timer.Enabled = true; //Start des Timers
}

void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//hier die Aktionen ausführen
//ggf. irgendwann über timer.Enabled = false; deaktivieren
}
}

danke funktioniert ganz gut!

Hola, liebe Marcela,

vielen Dank für die Anfrage, nur leider, leider habe ich in C# keine Ahnung.

Ich würde es so versuchen:
SetTimer(WM_App+1, 1000, NULL);
also jede Sekunde einen Tick auslösen, dann
mittels „::open_mouth:nTimer(nIDEvent)“ den Modulo-Operator ins Spiel bringen, zB:
if(nTime+1 % 10 == 0) einen Event auslösen.

Vielleicht ist dieser Ansatz für dich brauchbar.

Tschüüüß und Saludos

Gupetit

Hallo justmeee,

habe dohc noch eine Frage.

Ich habe jetzt folgendes hinzugefügt:

public System.Timers.Timer timer = new System.Timers.Timer();

/// timer wird gestartet
public void button1_Click(object sender, EventArgs e)
{
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed); //das Event registrieren
timer.Interval = 10000; //Event etwa alle 10s auslösen
timer.Enabled = true; //Start des Timers
}

/// Aktion wird ausgeführt nachdem Timer überläuft
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{

/// Anzahl der Zeilen im dataGridview
int rowQuantity = dataGridView1.Rows.Count - 1;
int i;
for (i = 0; i