Próbuję zaimplementować progressBara przy użyciu timera.Wydaje mi się,że do moich zastosowań wystarczy takie podejście bez wątków.Mam problem ze statycznością metod.Dane z czytuje listy<order> i odpowiedni rekordy podstawiam po funkcje api.
Prosiłbym o o pomoc w rozwiązaniu problemu i ewentualne sugestie lepszego rozwiązania.timer nie mogę umieścić w klasie APi ponieważ informuje mnie,że obiekt może być tworzony tylko winform. Wrzucam same klasy bez kodu api.
Jeszcze mam pytanie odnośnie sprawdzania poprawności wykonia metod można to zrobić inaczej niż tymi if?

Klasa form 1

public void barButtonItem8_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            timer1 = new Timer();
            timer1.Interval = 1000; // 1 second
            timer1.Tick += new EventHandler(API.timer1_Tick);**// Błąd "no overload for 'timer1_Tick'matches delegate 'system.eventhandler'**
            timer1.Start();
            progressBar1.Maximum = API.theSize;
            API.NowyDokument(records);
        }

Klasa API

 public class API : Form1
    {
    Timer timer1;
  public static void NowyDokument(List<Order> records)
        {
            theSize = records.Count;
            if (wynik == 0)
            {
                //MessageBox.Show("Logownaie udane" + wynik);
                stan = "poloczono";
            }
            else
            {
                //MessageBox.Show("Błąd logowania " + wynik);
                stan = "nie poloczono";
                MessageBox.Show("nie dodano błąd" + wynik);
            }
            // MessageBox.Show("Dodanie nowego dokumentu" + wynik);
       }

           
            foreach (var record in records)
            {
                //DODANIE NOWEJ POZYCJI API
                if (wynik == 0)
                {
                    //MessageBox.Show("Logownaie udane" + wynik);
                    stan = "poloczono";
                }
                else
                {
                    //MessageBox.Show("Błąd logowania " + wynik);
                    stan = "nie poloczono";
                    MessageBox.Show("nie dodano błąd" + wynik);
                }
                //MessageBox.Show("Dodanie nowej pozycji" + wynik);
               //api
            }
            //ZAKMNIECIE api zakonczenie
            if (wynik == 0)
            {
                //MessageBox.Show("Logownaie udane" + wynik);
                stan = "poloczono";
            }
            else
            {
                //MessageBox.Show("Błąd logowania " + wynik);
                stan = "nie poloczono";
                MessageBox.Show("nie dodano błąd" + wynik);
            }
            Wyloguj();
            MessageBox.Show("Towar Dodany.WYLOGOWANO" + wynik);
        }

       public void timer1_Tick(object sender, ElapsedEventArgs elapsedEventArg)
        {
            if (Form1.progressBar1.Value != theSize) //BŁAD "an object reference is required to access non-static field c# Form1.progressBar1 "
            {
                Form1.progressBar1.Value++; //BŁAD "an object reference is required to access non-static field c# Form1.progressBar1"
            }
            else
            {
                timer1.Stop();
            }
        }
}