hmm, jest na to pewien sposób. W klasie Form2 umieszczasz pole będące odnośnikiem do form, która wywołała nowe okno. Cos takiego:
class Form2 : System.Windows.Forms.Form
{
.
.
private Form1 from;
.
.
.
}
A w konstruktorze dodajesz ten odnośnik jako argument, czyli coś takiego:
public override Form2 (Form1 sender)
{
Form2.from=sender;
base();
}
(nie pamietam dokladnie czy to tak wyglada, ale jakos podobnie napewno, w każdym razie musisz zrobic tak, zeby argument klasy Form1 podawany przy tworzeniu obiektu klasy Form2 byl wczytywany do odpowiedniego pola w Form2)
Wtedy możesz nowe okno (klasy Form2) wywołac w pierwszego tak:
Form2 drugie_okienko = new Form2 (this);
drugie_okienko.Show(); // albo .ShowModal();
teraz, gdybys powiedzmy chcial z drugiego okienka zmienic np tytuł jakiegos labela na pierwszym to robisz cos takiego
(to jest kod Form2)
from.label1="haha zmienilem cos z innego okienka";
Wiem, że troche to zawile brzmi, ale jakos nie bardzo wiem jakby to mozna wytłumaczyc inaczej