Show()
打开一个窗口,并且仅在新打开的窗口关闭后才返回。
当 Window 类实例化时,默认情况下它是不可见的。Show 显示一个窗口并立即返回,而不等待该窗口关闭。因此,打开的窗口不会阻止用户与应用程序中的其他窗口交互。这种类型的窗口称为“无模式”窗口。无模式窗口的常见示例包括属性窗口、工具箱和调色板。若要限制用户与特定窗口交互,必须通过调用 ShowDialog 来打开窗口。
通过调用 Show 打开的窗口不会自动与打开它的窗口产生关系;具体说来,打开的窗口不知道是哪个窗口将它打开。可以使用 Owner 属性来建立这种关系,并使用 OwnedWindows 属性对其进行管理。
调用 Show 可以实现与将 Window 对象的 Visibility 属性设置为 Visible 相同的最终结果。但是,从计时角度来看,两者之间存在区别。
ShowDialog()
打开一个窗口,并且仅在新打开的窗口关闭后才返回。
当 Window 类实例化时,默认情况下它是不可见的。ShowDialog 显示窗口,禁用应用程序中的所有其他窗口,并且仅在窗口关闭后才返回。这种类型的窗口称为“模式”窗口。
模式窗口主要用作对话框。对话框是一种特殊类型的窗口,应用程序使用它们与用户交互以完成任务,例如打开文件或打印文档。对话框通常允许用户在关闭对话框之前接受或取消向其显示的任务。ShowDialog 返回一个 Nullable<(Of <(T>)>)Boolean 值,该值指定活动被接受还是被取消。返回值是 DialogResult 属性在窗口关闭前具有的值。
通过调用 ShowDialog 方法打开的窗口不会自动与打开它的窗口产生关系;具体说来,打开的窗口不知道是哪个窗口将它打开。可以使用 Owner 属性来建立这种关系,并使用 OwnedWindows 属性对其进行管理。若要支持 UI 自动化,必须为通过调用 ShowDialog 打开的窗口设置 Owner。