Witam,
Od pewnego czasu uczę się programowania w C#. Ostatnio otrzymałem za zadanie stworzenie aplikacji, która pobiera z portu szeregowego dane, analizuje je i wyświetla w dodatkowym oknie wykresy na podstawie tych danych. Cała zagwozdka polega na tym, że do danego portu mogą przyjść informacje do różnych wykresów (każdy z nich zawiera po kilka serii danych). Stworzyłem zatem formę główną, która pełni rolę panelu sterowania (otwarcie portu, wybranie prędkości transmisji itp.) oraz formę, w której miały być wyświetlane wyniki. Podczas pobierania danych, gdy aplikacja wykryje pojawienie się nowego wykresu (założenie jest takie, że każda linia składa się z: W0:dane1,dane2,dane3/r/n - gdzie "0" to numer wykresu i może być to wartość dowolna) tworzy ona nowe okno formy drugiej - tej do wyrysowywania wykresów. Zadeklarowałem tablicę dla rysowania. Przy pojawieniu się wykresu tworze nowe okno, a następnie uaktualniam cały wykres. Problem jest taki, że w zależności, która forma rysowania zostanie otworzona jako pierwsza(W0:, W1: czy W2: itd.), we wszystkich otwartych oknach serie nadpisywane są tylko przez tą jedną formę. Reszta form jest ignorowana i trafiają na wykres dane wyłącznie z pierwszego otwartego wykresu. Całość wygląda następująco:

// Deklaracja formy 2.
Forma2[] wykresy = new Forma 2[10];

//nastepnie, gdy spełnione zostaną warunki do otwarcia i-tego okna:
wykresy[i] = new Forma2(this, i);
wykresy[i].Visible = true;

//natomiast odświeżanie wykresu wygląda następująco (dla j-tej serii i i-tego okna):
chart.Series[j].Points.InsertXY(0, argumentX, wartosc[i,j];

Czy da się jakoś zmodyfikować ten kod, aby odwoływał się wyłącznie do danego okna w którym został utworzony, czy z góry będzie musiał aktualizować wszystkie wykresy?