0

我试图在我的选项表单中添加一个应用按钮,但它不起作用。

这是我尝试过的:

frm_Main

frm_Options Options = new frm_Options();
Options.btn_Apply.Click += new System.EventHandler(this.btn_Apply_Click);

之后...

Options.Show();

...

void btn_Apply_Click(object sender, EventArgs e)
{
    LoadPreferences();
}

基本上我能想到的唯一方法是frm_Mainfrm_Options. 我的猜测是你不能这样做,还有其他方法还是我尝试这样做的方式?

Edit1:我想在 frm_Main 中执行此操作,因为我希望按钮在按下时调用函数frm_Main 并且“不起作用”是指单击“应用”按钮时事件不会触发

4

1 回答 1

1

您需要在选项表单中声明您的事件

public event EventHandler RefreshOptions;

并在按钮单击事件中引发事件(如果它有订阅者) - 例如

 var refreshOptions = RefreshOptions;
        if (refreshOptions != null)
            refreshOptions(this, new EventArgs());

然后在您的主表单中订阅该事件 -

Options options = new Options();
options.RefreshOptions += MainRefresh;

并创建 MainRefresh 事件(或任何你称之为的)

 void MainRefresh(object sender, EventArgs e)
 {
     // TODO
  }
于 2013-03-07T19:20:53.577 回答