Запустить таймер и нарисовать несколько линий как в анимации

Есть такой график на форме и его нужно нарисовать таким образомЧтобы каждая линия выводилась плавно( подобие анимации) с помощью таймераМетод простого вывода графика такой:
public:void drawdifnet(******** wht, int Nt)
    {
        chart2->Series["1"]->BorderWidth = 3;
        chart2->Series["2"]->BorderWidth = 3;
        chart2->Series["3"]->BorderWidth = 3;
        chart2->Series["4"]->BorderWidth = 3;
        chart2->Series["5"]->BorderWidth = 3;
        chart2->Series["6"]->BorderWidth = 3;
        chart2->Series["7"]->BorderWidth = 3;
        chart2->Series["8"]->BorderWidth = 3;
            chart2->Series["9"]->BorderWidth = 3;
        chart2->Series["10"]->BorderWidth = 3;
        chart2->Series["11"]->BorderWidth = 3;
        chart2->Series["12"]->BorderWidth = 3;
        for (int j = 1; j < Nt - 1; j++)
        {
            for (int i = 1; i < Nt - 1; i++)//Было Nx
            {
                chart2->Series["" + (j + 1).ToString()]->Points->AddXY(i, wht[j][i]);
            }
        }
    }
Но проблема в том,что в событие timer_Tick1 нельзя передавать параметры у меня там массив двумерный с координатами точек(по которым и строится график)
private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e)
    {
        //хочу сюда записать метод но при добавлении сторонних параметров например ******** wht, int Nt
               
 
               chart2->Series["1"]->BorderWidth = 3;
        chart2->Series["2"]->BorderWidth = 3;
        chart2->Series["3"]->BorderWidth = 3;
        chart2->Series["4"]->BorderWidth = 3;
        chart2->Series["5"]->BorderWidth = 3;
        chart2->Series["6"]->BorderWidth = 3;
        chart2->Series["7"]->BorderWidth = 3;
        chart2->Series["8"]->BorderWidth = 3;
            chart2->Series["9"]->BorderWidth = 3;
        chart2->Series["10"]->BorderWidth = 3;
        chart2->Series["11"]->BorderWidth = 3;
        chart2->Series["12"]->BorderWidth = 3;
               chart1->Series["Series2"]->Points->AddXY(i,wht[j][i]);
 
        i++;
        if (i == maxI)
        {
            i = 1;
            j++;
            if (j == maxJ)
                timer1->Stop();
        }
    }
Компилятор сразу указывает на строку
this->timer1->Tick += gcnew System::EventHandler(this, &TransEquForm::timer1_Tick);
Как можно решить проблему с передачей параметров.Пытался сделать глобальный массив,с которым я работаю но это неудачное решение и код получился ещё запутаннее.P.S Большинство пишут чтобы я переходил на C#,но это невозможно так как задание сделать на C++.
1 ответ

Так как можно передать двумерный динамический массив в событие timer1_Click?Допустим я сделал всё-таки его глобальным,точнее указатель на указатель объявил перед всеми методами
******** wht;
И вызываю в
timer1_Tick
****** maxI = 20;
****** maxJ = 20;
chart1->Series["Series2"]->Points->AddXY(ik, wht[jk][ik]);
 
        ik++;
        if (ik == maxI)
        {
            ik = 1;
            jk++;
            if (jk == maxJ)
                timer1->Stop();
        }
И вот исключение:
Дополнительные сведения: Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена.
оно и понятно размер не известен timer_Tick1 и отсюда такое выражение..есть конечно мысль загрузить с текстового файла в новый динамический массив,который будет внутри события.. Но опять же размер то я задаю с клавиатуры,и всё равно нужно передавать параметры.