Uruchom funkcję co drugi Visual C #

Mam problemy z zegarem. Mam funkcję w funkcji (rysuj w func)

void func(){

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

 draw(A,B, Pen);

 }

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

To jest funkcja rysowania

   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();
      }

Po kliknięciu przycisku wywołuję funkcję „func”

private void button4_Click(object sender, EventArgs e){

    func();

}

Chcę wywołać funkcję rysowania evry second (narysuj linię co sekundę). Pomiędzy rysunkami funkcja musi kontynuować pracę i obliczyć = pętlę, a następnie narysować kolejną linię przez pewien czas (interwał). Próbowałem z

timer1.Tick += new EventHandler(timer1_Tick);

itp..

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

itp..

ale wszystko, co zatrzymuje moją funkcję, i rysuję jedną losową linię. Chcę tylko czas (przedział) między dwoma rysunkami w funkcji „func”. Bez timera działa dobrze, ale natychmiast narysuj wszystkie linie, potrzebuję wolnego rysunku. Twoje zdrowie.

questionAnswers(4)

yourAnswerToTheQuestion