,我看是设置成Cancel了。这听起来不寻常吗?这是完全正常的,因为这是预期的行为。但是,如果您使用的是MDI或ShowDialog(),则它不等同于单击窗体右上角的红色“X”。当窗体显示为模态对话框时,单击“关闭”按钮(窗体右上角带有X的按钮)将导致隐藏窗体并将DialogResult属性设置为DialogResult.Cancel。当用户单击对话框的关闭按钮或设置DialogResult属性的值时,不会自动调用Close方法。取而代之的是,表单是隐藏的,可以在不创建对话框的新实例的情况下再次显示。由于此行为,当应用程序不再需要窗体时,您必须调用窗体的Dispose方法。可以覆盖DialogResult值:通过在窗体的Closing事件的事件处理程序中设置DialogResult属性,您可以在用户单击“关闭”按钮时覆盖分配给DialogResult属性的值。http://msdn.microsoft.com/en-us/library/system.windows.forms.form.dialogresult(v=VS.100).aspx或者更简单,你可以在DialogResult关闭后设置。例如,假设ValidateSettings将向用户显示表单的任何问题,否则返回true:希望您多关注教程—privatevoidbtnOK_Click(objectsender,EventArgse){if(ValidateSettings()){SaveSettings();关闭();DialogResult=DialogResult.OK;}}本文采集自网络,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
