Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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
Wpf 如何关闭未知窗口_Wpf_Vb.net - Fatal编程技术网

Wpf 如何关闭未知窗口

Wpf 如何关闭未知窗口,wpf,vb.net,Wpf,Vb.net,我有一个在VB.NET2010和WPF4中构建的项目。我可以选择返回登录屏幕,但此选项只能从单独的(退出确认)窗口访问。当退出确认窗口后大约一百个窗口中的一个打开时,可以调用此函数 我要做的是关闭退出确认窗口和另一个打开的窗口,但打开登录窗口。我知道使用“Me.Close()”关闭退出确认窗口,我知道如何打开登录窗口,但我不知道如何关闭另一个打开的窗口 帮助?您能否为退出确认窗口的构造函数提供一个窗口引用,该窗口在选择该选项时应关闭 编辑:两个如何操作的示例: 通常,您希望在关闭窗口时打开确认对

我有一个在VB.NET2010和WPF4中构建的项目。我可以选择返回登录屏幕,但此选项只能从单独的(退出确认)窗口访问。当退出确认窗口后大约一百个窗口中的一个打开时,可以调用此函数

我要做的是关闭退出确认窗口和另一个打开的窗口,但打开登录窗口。我知道使用“Me.Close()”关闭退出确认窗口,我知道如何打开登录窗口,但我不知道如何关闭另一个打开的窗口


帮助?

您能否为退出确认窗口的构造函数提供一个窗口引用,该窗口在选择该选项时应关闭

编辑:两个如何操作的示例:
通常,您希望在关闭窗口时打开确认对话框,因此您可以在关闭事件处理程序中创建它,如下所示:

    private void Window_Closing(object sender, CancelEventArgs e)
    {
        ConfirmationDialog diag = new ConfirmationDialog();
        diag.ShowDialog();
        switch (diag.Result)
        {
            ...
        }
    }
在这里,您的窗口等待确认对话框返回(
diag.Show
不会等待),如果是这种情况,您不需要对话框中有关窗口的任何信息。(
Result
是一个自定义属性,如果
DialogResult
bool没有足够的区分,您可以在对话框中定义该属性)

如果您的对话在任何时候打开,并且您无法等待它返回,则可以使用引用创建对话:

private void OpenConfirmDialog()
{
    ConfirmationDialog diag = new ConfirmationDialog(this);
    diag.Show()
}
在你的对话代码中:

public ConfirmationDialog(Window owner)
{
    Owner = owner;
}

public void OpenWelcomeScreenThing()
{
    this.Close();
    Owner.Close();
    new WelcomeScreen().Show();
}
或者类似的。或者,您也可以处理事件