我看到很多与此相似的问题,但没有什么可以解答的。
我想知道是否有一个事件可以添加到按钮中以直接触发form_closing例程。我意识到使用类似的东西执行此操作只需要一个额外的步骤:
buttonOk.Click += new EventHandler(do_something);
private void do_something(object sender, EventArgs e)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
但是在某些情况下,执行以下操作会带来好处:
buttonOk.Click += new EventHandler(form_close_event..);
答案 0 :(得分:4)
如果您想要做的事情足够简单,您可以使用lambda来避免创建新的命名方法:
buttonOk.Click += (sender, args) => Close();
答案 1 :(得分:2)
您可以使用anonymous method
(see here)来实现此目的,但实际上它完全相同。
buttonOk.Click += delegate(object sender, EventArgs e) { ... });
您可以从内部调用任何方法,因此this.Close()
也可以。