在C#Windows窗体中,将窗体的CancelButton属性设置为按钮会自动关闭按钮单击事件上的窗体吗?

时间:2013-03-29 05:52:11

标签: c# winforms cancel-button

或者通过设置表单的CancelButton属性,我们只需确保在按下表单上的Esc键时启用该按钮,但是需要通过编写单独的事件处理程序来处理click事件?

2 个答案:

答案 0 :(得分:2)

  

在C#Windows窗体中,将窗体的CancelButton属性设置为按钮会自动关闭按钮单击事件上的窗体吗?

是的,因为这样做会将该按钮的DialogResult属性设置为DialogResult.Cancel。正如该财产的文件所述:

  

如果此属性的DialogResult设置为None以外的任何值,并且如果通过ShowDialog方法显示父窗体,则单击该按钮将关闭父窗体,而无需挂接任何事件。单击按钮后,窗体的DialogResult属性将设置为按钮的DialogResult。

请注意重要警告:“如果父表单是通过ShowDialog method显示的。表单自动关闭的唯一方法是使用frm.ShowDialog()显示它。如果您使用Show method,它将不会自动关闭。您需要编写代码来自行管理。

答案 1 :(得分:0)

仅当表单是对话框时。自己测试