8

WPF と WinForm アプリケーションを作成しました。WPF アプリケーションから WinForm を開く必要があります。どちらも同じソリューションにありますが、異なるプロジェクトです。

私は次のことを試しました:

Dim newWinForm as New MainWindow
newWinForm.show()

私はここから可能な解決策を見つけました: プログラムで wpf アプリケーションから winform を開く

しかし、私は正確に何をしなければならないのか理解していません。あなたが私を助けてくれることを願っています。ありがとう!

4

4 に答える 4

10

一般に、WPF ウィンドウの Button.Click イベント ハンドラーで次のように、 WindowInteropHelperでフォームをホストする必要があります。

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 の参照/インポートを追加する必要があります

于 2013-05-16T00:38:33.440 に答える