Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#Windows窗体中,是否设置窗体';是否将CancelButton属性设置为在按钮单击事件中自动关闭窗体的按钮?_C#_Winforms_Cancel Button - Fatal编程技术网

在C#Windows窗体中,是否设置窗体';是否将CancelButton属性设置为在按钮单击事件中自动关闭窗体的按钮?

在C#Windows窗体中,是否设置窗体';是否将CancelButton属性设置为在按钮单击事件中自动关闭窗体的按钮?,c#,winforms,cancel-button,C#,Winforms,Cancel Button,或者通过设置表单的CancelButton属性,我们只需确保在按下表单上的Esc键时启用该按钮,但需要通过编写单独的事件处理程序来处理单击事件?仅当表单是对话框时。自己测试一下 在C#Windows窗体中,将窗体的CancelButton属性设置为按钮是否会在按钮单击事件中自动关闭窗体 是,因为这样做会将该按钮的属性设置为“DialogResult.Cancel”。正如该物业的文件所述: 如果此属性的DialogResult设置为除None之外的任何值,并且如果父窗体是通过ShowDialog方

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

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

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

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

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


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

这对您自己来说很容易测试,不是吗?