Wywołanie metody zdarzenia w innej metodzie

0

Witam. Mam problem z wywołaniem metody która się utworzyła poprzez dodanie zdarzenia w innej metodzie czy to mojej własnej czy to w innym zdarzeniu.

Np mam 2 zdarzenia:

private void 1_Click(object sender, EventArgs e)
{
...
}

private void 2_Click(object sender, EventArgs e)
{
...
1_Click();
}

Np chcę w 2_Click wywołać także metodę 1_Click. Problem w tym że nie wiem jakie argumenty mam dać by kompilator mi to skompilował.

Oczywiście mogę utworzyć własną metodę bez argumentów i wywoływać ją zarówno w 1_Click jak i 2_Click ale czy to jest konieczne?
Może da się bezpośrednio wywołać 1_Click w 2_Click?

1

sender, e ?

0

no właśnie nie bo takie "zmienne" nie istnieją

2

Nie wierze Ci.

    private void button1_Click(object sender, EventArgs e) {
      this.button2_Click(sender, e);
    }

    private void button2_Click(object sender, EventArgs e) {
      this.richTextBox1.Text = "LOL? To dziala";
    }

To bez problemowo dziala.

3

Swoją drogą, takie bezpośrednie wywoływanie procedury obsługi zdarzenia wskazuje na błąd projektowy.

• albo obu buttonom przypisujemy tę samą metodę

private void button1and2_Click(object sender, EventArgs e)

• albo w obu metodach wywołujemy trzecią

private void button1_Click(object sender, EventArgs e)
{
    foo();
}

private void button2_Click(object sender, EventArgs e)
{
    foo();
}

ale nie robimy czegoś takiego jak button2_Click().

0

Nie działa w mojej metodzie:

void metoda()
{
button1_Click(sender, e);
}

ponieważ nie są to zadeklarowane zmienne

1

Sender to obiekt który wywołuje zdarzenie a e typu EventArgs zawiera informacje o zdarzeniu.
Jeśli te informacje nie są dla ciebie ważne to wpisz sobie

void metoda()
{
button1_Click(null, null);
}

lub

void metoda()
{
button1_Click("Jestem super obiektem", EventArgs.Empty);
}
0
UnlimitedPL napisał(a):

Nie działa w mojej metodzie:

void metoda()
{
button1_Click(sender, e);
}

ponieważ nie są to zadeklarowane zmienne

Zatem zastanów się w końcu, czy chcesz użyć metody zdarzenia z innej metody zdarzenia, czy ze zwykłej metody. ;]

0

pisałem że w obu przypadkach...

0

Ale dlaczego w ogóle z jakiejś metody chcesz wywoływać Button_click, zamiast odwrotnie?

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