Запускать функцию каждую секунду Visual C #

У меня проблемы с таймером. У меня есть функция в функции (рисовать в функции)

void func(){

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

 draw(A,B, Pen);

 }

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

Это функция рисования

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

Я называю функцию «функционал» по нажатию кнопки

private void button4_Click(object sender, EventArgs e){

    func();

}

Я хочу, чтобы вызвать функцию рисования каждую секунду (рисовать линии каждую секунду). Между чертежами, функция должна продолжать работать и вычислять = цикл, и рисовать следующую линию в течение некоторого времени (интервала). Я пробовал с

timer1.Tick += new EventHandler(timer1_Tick);

так далее..

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

так далее..

но все это останавливает мою функцию и рисует одну случайную линию. Я просто хочу, чтобы время (интервал) между двумя рисунками в функции "функционал". Без таймера работает нормально, но сразу рисую все линии, мне нужно медленное рисование. Приветствия.

Ответы на вопрос(4)

Ваш ответ на вопрос