Führen Sie Funktion jede Sekunde aus Visual C #

Ich habe Probleme mit dem Timer. Ich habe funktion in funktion (draw in func)

void func(){

 /*...do something ... */
for(){
   for() {
  /*loop*/

 draw(A,B, Pen);

 }

/*... do something ...*/
  }
}

Dies ist die Zeichenfunktion

   public void draw1(Point Poc, Point Kra, Pen o) {
      Graphics g = this.CreateGraphics();
      g.DrawLine(o,Poc.X+4, Poc.Y+4,Kra.X+4, Kra.Y+4);
      g.Dispose();
      }

Ich rufe die Funktion 'func' auf Knopfdruck auf

private void button4_Click(object sender, EventArgs e){

    func();

}

Ich möchte jede Sekunde die Zeichenfunktion aufrufen (zeichne die Linie jede Sekunde). Zwischen den Zeichnungen muss die Funktion weiterarbeiten und = loop berechnen und für einige Zeit (Intervall) die nächste Linie zeichnen. Ich habe es mit versucht

timer1.Tick += new EventHandler(timer1_Tick);

usw..

private void timer1_Tick(object sender, EventArgs e)
    {
        ...
        draw(A, B, Pen)
    }

usw..

aber all das stoppt meine Funktion und zieht eine zufällige Linie. Ich möchte nur die Zeit (Intervall) zwischen zwei Zeichnungen in der Funktion 'func'. Ohne Timer funktioniert das einwandfrei, aber zeichne alle Linien sofort, ich brauche langsames Zeichnen. Prost.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage