对话框的用户输入
对话框通常用于提示用户输入该应用程序随后要使用的数据。 显示对话框的窗体处理该信息。 当显示对话框时,知道如何关闭它或知道它的“结果”非常重要。例如,如果用户单击“取消”按钮,将释放而非保留用户输入的数据。 可以使用 Form.DialogResult 属性来了解关闭对话框的方式。
从显示该对话框的窗体(即该对话框的父窗体)中,可使用 DialogResult 属性的值确定单击了“确定”按钮还是“取消”按钮。 基于返回的 DialogResult,决定是否需要检索对话框的信息。 当不在对话框上使用 Button 控件但仍希望返回 DialogResult 时,可设置对话框的 DialogResult 属性的值。
当按模式对话框显示窗体时,单击**“关闭”按钮(窗体右上角带有“X”的按钮)会隐藏窗体并将 DialogResult 属性设置为 DialogResult.Cancel。 当用户单击对话框的“关闭”**按钮或设置 DialogResult 属性的值时,不会自动调用 Close 方法。 窗体只是处于隐藏状态,因而可重新显示,而不必创建对话框的新实例。 由于存在此行为,因此当应用程序不再需要该窗体时,必须调用该窗体的 Dispose 方法。
提示
当用户单击“关闭”按钮时,可通过在窗体的 Closing 事件的事件处理程序中设置 DialogResult 属性,重写分配给 DialogResult 属性的值。