Отправка события кнопки в хост-класс объекта - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть форма Windows под названием FormMain в проекте ClientForms.Теперь эта форма (FormMain) открывает другую форму под названием FormScheduler в проекте планирования.

Теперь я хочу отправить сообщение обратно в FormMain, когда в FormScheduler вызывается событие метода button_click.

Мое решение создает круговую зависимость.Есть ли другой способ, например, использование делегатов?

1 Ответ

1 голос
/ 30 ноября 2011

Использование событий.

В вашей форме FormScheduer добавьте кнопку и следующий код:

public event EventHandler ButtonClicked;

private void button1_Click(object sender, EventArgs e) {
    if (ButtonClicked != null) {
        ButtonClicked(this, EventArgs.Empty);
    }
}

В вашей форме FormMain создайте экземпляр формы FormScheduer и отобразите ее следующим образом:

var form = new FormScheduer();
// Listen for the ButtonClicked event...
form.ButtonClicked += form__ButtonClicked;
form.Show();

Ваш метод form_ButtonClicked в FormMain будет вызываться при нажатии кнопки в FormScheduler:

void form__ButtonClicked(object sender, EventArgs e) {
    Console.WriteLine("clicked");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...