Dot-Net

從 WPF 應用程序打開 WinForm?

  • January 30, 2022

我已經創建了一個 WPF 和 WinForm 應用程序,我需要做的是從 WPF 應用程序中打開 WinForm。兩者都在同一個解決方案中,但它們是不同的項目。

我嘗試了以下方法:

Dim newWinForm as New MainWindow
newWinForm.show()

我從這裡找到了一個可能的解決方案: Opening winform from wpf application programmatically

但我不明白我到底要做什麼。我希望你能幫助我。謝謝!

通常,您需要將表單託管在WindowInteropHelper中,如下面的 WPF 視窗 Button.Click 事件處理程序中:

C#:

private void button1_Click(object sender, RoutedEventArgs e) {
 Form1 form = new Form1();
 WindowInteropHelper wih = new WindowInteropHelper(this);
 wih.Owner = form.Handle;
 form.ShowDialog();
}

VB:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button1.Click
   Dim form As New Form1()
   Dim wih As New WindowInteropHelper(Me)
   wih.Owner = Form.Handle
   form.ShowDialog()
End Sub

當然,您需要添加項目和 System.Windows.Forms.dll 的引用/導入

引用自:https://stackoverflow.com/questions/16577122