Wywołanie metody na formie już zainicjowanej

0

Koledzy mam taki problem, posiadam dwa formularze: Form1 i Form2. Przy czym Form1 otwiera się na pierwszym monitorze, a Form2 na drugim.

Gdzieś w kodzie jest przycisk który wywołuje kod:

Kantor.Form2 pokazTekst = new Kantor.Form2();
pokazTekst.Show(this);

Formularz uruchamia się ładnie, wszystkie metody na nim pracujące jak na przykład:

public void nastepnyTekst() {}

działają poprawnie ale tylko do momentu kiedy Form2 jest aktywnym oknem.

Niestety sytuacja wymusza żeby Form1 było oknem aktywnym i po kliknięciu na inne przyciski, wywoływało różne metody które są zakodowane na Form2. Ponowna inicjalizacja okna nic nie da, bo już jedno jest zainicjowane. Mam prośbę, mógłby ktoś podpowiedzieć w jaki sposób wywołać metody używane na Form2 (gdy jest oknem aktywnym) z poziomu Form1 przy założeniu że Form2 jest cały czas widoczna na drugim monitorze. Dziękuję.

1

Form1

public partial class Form1 : Form
    {
        Form2 form2;
        public Form1()
        {
            InitializeComponent();
            form2 = new Form2();
        }
        
        private void button1_Click(object sender, EventArgs e)
        {
            form2.Show(this);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            form2.mojaMetoda();
        }
    }

Form2

public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        public void mojaMetoda()
        {
        }
    }
0

dam1an: takie proste że aż mi głupio ;-). Ale człowiek się uczy całe życie. Dzięki Ci wielkie ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1