【问题标题】:How to display a popup behind a popup?如何在弹出窗口后面显示弹出窗口?
【发布时间】:2018-07-27 19:58:17
【问题描述】:

我只是想知道创建一个弹出窗口,该弹出窗口会在单击按钮时在其后面生成另一个弹出窗口。

让我解释一下:

我在主窗口中有一个按钮Bu

当我点击这个按钮时,应该会出现一个弹出窗口说Pop_a 和一个按钮Bu_a

当我单击按钮Bu_a 时,应该会打开一个弹出窗口Pop_b,但在Pop_a 后面。

【问题讨论】:

  • 只需在弹出窗口中相应地设置 Panel.ZIndex 属性。

标签: c# .net wpf visual-studio frontend


【解决方案1】:

Pop_a 中,在按钮单击处理程序中,在显示Pop_b 窗口的行之后调用this.Activate()

它应该看起来像这样。

public partial class Pop_a : Window
{
    public Pop_a()
    {
        InitializeComponent();
    }

    private void Bu_a_Click(object sender, RoutedEventArgs e)
    {
        var pop_b = new Pop_b();

        pop_b.Show();

        this.Activate();
    }
}

在显示Pop_b 之后,这会将Pop_a 重新置于所有其他窗口的顶部。

如果在调用pop_b.Show() 之前调用this.Activate()Pop_a 将被置于顶部,然后Pop_b 将被显示,这将Pop_b 置于顶部,因此这些方法调用的顺序很重要。显示新窗口,然后在顶部激活您想要的窗口。

【讨论】:

  • 假设他没有使用MessageBox,但是是的,它会起作用。值得注意的是,第二个窗口不会被保留,但它可能是 OP 想要的。
  • 如果我不想拥有 2 个窗口怎么办?我希望在同一个窗口中发生同样的事情。
猜你喜欢
  • 1970-01-01
  • 2022-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多