Dot-Net
從 WPF 應用程序打開 WinForm?
我已經創建了一個 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 的引用/導入