問題タブ [winforms-interop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - Wpfウィンドウスタイルが設定されている場合、WindowsFormsHostが表示されない
WinFormsボタンが内部にあるWPFウィンドウがあります。ウィンドウのスタイルを設定するとボタンはレンダリングされませんが、ウィンドウのスタイルを設定しないとボタンが表示されます。
ウィンドウXaml:
ウィンドウのスタイルは次のとおりです。
同じスタイルの他のウィンドウがありますが、WPFコントロールのみ(デフォルトスタイルのものとカスタムスタイルのもの)があり、問題はありません。
運が悪かったので、ビジュアルスタイルを有効にしようとしました。
助けてくれてありがとう...
wpf - Winform に埋め込まれた WPF コントロールによりアプリがクラッシュする
ElementHostを使用してWindowsフォームに埋め込まれたWPFユーザーコントロールを使用しているOutlookアドインに取り組んでいます。
このアプリは、ごく少数のマシンで断続的にクラッシュします。クラッシュ ダンプを分析した後、WPF レンダリング スレッドがこのクラッシュを引き起こしているようです。windbg のスタック トレースは次のようになります。
c# - AvalonDock で WinForms フォームを DockableContent として機能させるにはどうすればよいですか?
WinForms コントロールは使用できますが、フォーム全体は使用できません。
フォーム全体を使用することはできますか? アプリケーションで既存のフォームを利用したい。
c# - WPF/WinForms/GDI相互運用:WriteableBitmapをSystem.Drawing.Imageに変換しますか?
WPF WriteableBitmap オブジェクトを System.Drawing.Image に変換するにはどうすればよいですか?
私の WPF クライアント アプリはビットマップ データを Web サービスに送信し、Web サービスはその側で System.Drawing.Image を構築する必要があります。
WriteableBitmap のデータを取得し、その情報を Web サービスに送信できることはわかっています。
しかし、Web サービス側では、このデータから System.Drawing.Image を作成する方法がわかりません。
c# - PInvokeでフォームを表示
以下のシナリオがあります:このアプリの1つのインスタンスのみを実行できるWinFormsアプリ(ここではMutexを使用してチェックしています)。いくつかのパラメータで開始したアプリは実行されていますが、非表示になっています。誰かがアプリをもう一度クリックすると、Mutexはアプリがすでに実行されていることを検出し、ネイティブメソッドを呼び出してメインフォームを「再表示」します(以下のメソッドBringWindowToFrontを参照)。
フォームウィンドウを見つけて表示するコードは次のとおりです。
すべて問題ありませんが、まだ1つの機能が必要です。メインフォームが最初に再表示されるときに、別の追加フォームを表示したいと思います。通常、私はフォーム_Shownイベントによってそれを行います。しかし、PInvokeメソッドを使用してウィンドウを表示すると、このイベントは発生しません。
したがって、基本的に、メインフォームが表示されたときに追加のフォームを表示したいと思います(ShowWindow PInvokeメソッドを使用)
これは可能ですか?それを達成する方法の他のアイデアはありますか?
vb.net - 完全な .Net Framework (デスクトップ上で実行) から管理対象外の Mobile CE DLL を呼び出すことはできますか
Windows Ce 用にコンパイルされた Unmanaged Lib があります。VB.net Full Framework .Net 4 Client Profile Windows アプリケーションからこの dll を呼び出そうとしています。Compact Framework アプリケーションで使用するのと同じコードを使用しようとしています。エラーなしでコンパイルして実行しますが、関数を呼び出すとエラーが発生します ex = {"不正な形式のプログラムをロードしようとしました。(HRESULT からの例外: 0x8007000B)"} モバイル アンマネージ DLL を使用することは可能ですか?デスクトップ?Dll を呼び出すために使用する Wrapper コードは次のとおりです。
wpf - Winform の WPF メニュー
WinFormsでWPFコンテキストメニューを表示することは可能ですか?
はいの場合、どうすればそれを行うことができますか?
.net - WinFormsからWPFへ-ここからどのように到達しますか?
奇妙な相互運用シナリオで自分たちのサポートの悪夢を作成することなく、WinFormsアプリケーションをWPFにゆっくりと進化させるための実用的な方法はありますか?
背景情報:
約60〜75人のユーザーの内部グループによって頻繁に使用される大規模な戦艦の灰色のWinFormsアプリケーションがあります。WPFでアプリを使用することでメリットが得られる場所に出くわし始めていますが、大規模なプロジェクトを完全に書き直すことを正当化するだけでは不十分です。アプリのすべての画面は自己完結型のWinFormsユーザーコントロールであり、WinFormsアプリは、メニュー設定、フォームの開閉、いくつかの共有ヘルパーメソッドなどを処理する単なるシェルです...
これまでのところ、シェルアプリケーションをWPFに変換してから、その中でWinFormsユーザーコントロールをホストするのが最善の方法です。その後、ユーザーコントロールを時間の経過とともに変換し、それらの変更を、追加の作業をサポートするのに十分なビジネス価値を持つイニシアチブに結び付けることができると考えました。相互運用機能がどの程度うまく機能し、パフォーマンスにどのように影響するかが心配です。また、アプリの新しいデザインに移行する方法についても心配しています。シェルアプリをおしゃれに見せてから、古い戦艦の灰色のユーザーコントロールを内部でホストするのは奇妙に思えます。また、WPFでシェルアプリを作成し、WinFormsで行ったように見せることも奇妙に思えます。
Caliburn、Prism、または他の同様のフレームワークのいずれかが移行を容易にする場合は、これらのオプションも検討することができます。
c# - WPFウィンドウフォームのホストキーボードイベント
これはおそらく簡単な質問ですが、私は簡単な答えを見つけることができませんでした。
GeckoFXコンポーネントをホストするWindowsフォームコントロールを備えたWPFアプリケーションがあります(実際には問題ではありません)。
私がやりたいのは、Windowsフォームコントロール内のキーダウンイベントをキャプチャし、特定のキーの組み合わせについてWPFコントロールのフォーカスを取得することです。また、WPFアプリケーションウィンドウ全体(Windowsフォームコントロール内でも)からイベントをキャプチャしたい場合はどうなりますか?KeyDownイベントとPreviewKeyDownイベントを処理しようとしましたが、役に立ちませんでした。
私が知りたいのは、これが可能かどうか、そしてこれをどのように行うべきかということです。必要に応じてコードを投稿できます。
wpf - WPF WindowsFormsHost が未処理のキー ジェスチャをバブルアップしない
わかりました。これがどのように機能するかはわかりませんが、私のアプリでは、キー ジェスチャ (Ctrl+K) を RoutedCommand にバインドしています。アプリのどこに注目しても、キーの組み合わせは機能しますが、Web ブラウザー コントロールを含む WindowsFormsHost 内で使用する場合を除きます。Web ブラウザー コントロールの PreviewKeyDown イベントをキャプチャし、IsInputKey を false に設定してみました。これにより、理論的には、ホストはキー ジェスチャが未処理であると見なし、上方に送信する必要がありますが、そうはなりません。
アップデート:
コントロールの bool IsInputKey (Keys keyData) をオーバーライドして false を返すと、機能し、コマンドが正常に実行されます。
PreviewKeyDown の処理方法に何か問題があるのでしょうか?
これにより、メイン ウィンドウから任意のキーの組み合わせをキャプチャできるようになると期待していました。コントロールを拡張するよりも、イベント処理でこれを修正したい...