我已经创建了一个WPF和WinForm应用程序,我需要做的是从WPF应用程序打开WinForm.两者都在同一个解决方案中,但它们是不同的项目.
我尝试了以下方法:
Dim newWinForm as New MainWindow
newWinForm.show()
Run Code Online (Sandbox Code Playgroud)
我从这里找到了一个可能的解决方案:以 编程方式从wpf应用程序打开winform
但我不明白我到底要做什么.我希望你能帮助我.谢谢!
通常,您需要在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();
}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
当然,您需要添加项目的引用/导入和System.Windows.Forms.dll