WPF父与WinForm子 - BringToFront()无法正常工作

时间:2014-02-27 20:03:37

标签: wpf winforms

我有一个带有menuItem的WPF应用程序,它将调用WinForm表单。我可以从WPF窗口打开WinForm,但它在WPF窗口后面打开。它不会移动到WPF窗口的前面。我可以很好地与WinForm窗口进行交互。

以下是我用来启动WinForm的代码

void ManualControlInit(object sender, RoutedEventArgs e) {

    // Set visual styles
    System.Windows.Forms.Application.EnableVisualStyles();
    System.Windows.Forms.Application.SetCompatibleTextRenderingDefault(false);

    DynamixelCsDemo form = new DynamixelCsDemo();
    WindowInteropHelper wih = new WindowInteropHelper(this);
    wih.Owner = form.Handle;
    form.Show();
    form.BringToFront();
}

如何打开WinForm并将其显示在WPF窗口之上?

1 个答案:

答案 0 :(得分:3)

创建一个实现IWin32Window的类,从Handle返回WPF窗口的句柄,并将该类传递给form.Show()

这会将窗体设置为窗口所拥有。