在c# Windows窗体中,为按钮设置窗体的CancelButton属性是否会在按钮单击事件时自动关闭窗体?

本文关键字:窗体 按钮 事件 单击 CancelButton Windows 属性 设置 是否 | 更新日期: 2023-09-27 18:06:39

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

在c# Windows窗体中,为按钮设置窗体的CancelButton属性是否会在按钮单击事件时自动关闭窗体?

在c# Windows窗体中,设置窗体的CancelButton属性的按钮自动关闭窗体上的按钮点击事件?

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

如果此属性的dialgresult被设置为None以外的任何东西,并且如果父窗体是通过ShowDialog方法显示的,则单击该按钮将关闭父窗体,而无需连接任何事件。当按钮被点击时,窗体的dialgresult属性被设置为按钮的dialgresult。

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

仅当窗体是一个对话框时。自己测试一下