0
我在ClientForms項目中有一個名爲FormMain的窗體窗體。現在這個(FormMain)表單在Scheduling項目中打開另一個名爲FormScheduler的表單。將按鈕事件發送到對象主機類
現在,我想在FormScheduler中觸發button_click方法事件時向FormMain發回消息。
我的解決方案創建一個循環依賴。還有另一種方式,比如使用代表嗎?
我在ClientForms項目中有一個名爲FormMain的窗體窗體。現在這個(FormMain)表單在Scheduling項目中打開另一個名爲FormScheduler的表單。將按鈕事件發送到對象主機類
現在,我想在FormScheduler中觸發button_click方法事件時向FormMain發回消息。
我的解決方案創建一個循環依賴。還有另一種方式,比如使用代表嗎?
使用事件。
在您的形式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();
您對FormMain form_ButtonClicked法會在點擊FormScheduler上的按鈕時調用:
void form__ButtonClicked(object sender, EventArgs e) {
Console.WriteLine("clicked");
}