問題タブ [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 - WinForms MDIアプリ内でWPFユーザーコントロールをホストするときに視覚的なアーティファクトを回避するにはどうすればよいですか?
WinForms MDIアプリ内でWPFユーザーコントロールをホストする場合、複数のフォームが互いにオーバーラップしていると、描画の問題が発生し、非常に明確な視覚的アーティファクトが発生します。これらのアーティファクトは、WPFコンテンツをホストする別の子フォームの上にドラッグした後、または子フォームの端をメインのMDI親がドラッグしたときにクリップできるようにすることで、ほとんど表示されます。子フォームのドラッグアンドドロップが完了した後、アーティファクトは通常は残りますが、フォーカスを別のアプリケーションのウィンドウに設定してから、アプリケーションウィンドウに再度フォーカスを戻すと、再描画され、子が表示されるまですべてが正常になります。フォームがもう一度移動されます。問題を示す下の画像を参照してください。
Microsoftの関係者は、WinForms MDIはすでにMDIの十分なソリューションであり、WPFで再発明する必要はないと主張していますが、明らかな欠点があるため、この方法でWPFアプリを作成しようとしたとは信じられません。
更新:私が省略したいくつかの追加の注意事項は、MdiParentを設定せずにこれらのフォームを作成すると、通常のフォームとして作成され、この問題は発生しないということです。この問題は、WinFormsMDIシナリオに固有のようです。また、私は現在Windows 7 Enterpriseで実行しており、結果がWindows XPでかなり異なる可能性があることを認識していますが、これをテストすることはできませんでした。
更新:私が共有すべきだと思ったこの問題に関する他のいくつかの関連リソースを見つけました。
c# - Visual Studio 2005 または C# Express 2008 で axspreadsheet を読み込む方法
Office 2007 をインストールして、.NET プログラミング機能をチェックしました。VS2005/VC#2008 Toolbox から axSpreadsheet コントロールという新しいアイテムを追加しようとしましたが、残念ながら .NET Framework / COM リファレンスから見つけることができませんでした。
この問題を解決する方法はありますか? 私の主な目的は、xls ファイルを winform にロードすることです。
c# - WinAPI マジックと MONO ランタイム
.NET アプリケーションと同じ結果を得ようとしています (詳細については、TabControl ボタンを非表示にしてスタックされた Panel コントロールを管理するリンクを参照してください) が、MS .NET ランタイムの代わりに MONO ランタイムを使用しています。
実際には、カスタム コントロールが MONO ランタイムを使用して実行されると、基になるメッセージがコントロールに送信されず、タブ ページが表示されます...
リンクされたものほどエレガントなポータブルソリューションはありますか? 不可能な場合、実行時にタブを削除/追加する以外に、どのような回避策がありますか?
wpf - WPF WindowsFormsHostリモート内でWinFormsはどのように制御しますか?
たとえば、一部のウィンドウの「WindowsFormsHost」に Windows フォーム コントロールを含む WPF プログラムがあるとします。
私はそのプログラムをリモート デスクトップ経由で使用しています。
このコントロールのグラフィックス リモートはどのようになりますか? WinForms アプリであるかのように GDI 命令を介して、または WPF のような単純なビットマップとして?
wpf - WPF UserControls をホストするときに WinForms MDI アプリで既定の Ctrl+Tab 機能を取得する方法
MDI の各子のメイン コンテンツとして ElementHost コントロールを介して WPF ベースの UserControls をホストしていることを除いて、従来の MDI 実装を含む WinForms ベースのアプリがあります。これは、残念ながらさまざまな副作用がありますが、WPF で MDI を実現するために Microsoft が推奨するソリューションです。その 1 つは、Tab キーが WPF コントロールによって飲み込まれているように見えるため、各 MDI 子の間でタブを切り替えるための Ctrl+Tab 機能がなくなったことです。
組み込みのタブ切り替え機能を取得できるように、Ctrl+tab キー シーケンスが WinForms MDI 親に到達できるようにする簡単な解決策はありますか?
c# - WPF ウィンドウでホストされている Active Reports winforms ビューアー コントロール
現在、Active Reports 6 で使用できる WPF ビューアはありません。ホスト コントロールを使用して相互運用ホストでビューアーを表示しようとしましたが、うまくいきません。他の誰かがこれを成功させましたか? この時点では、ラッパー ビューアー コントロールをカスタム コントロールとしてプロジェクト ツールボックスに追加することさえできません。ホイールの再作成は避けたいと思っています。
wpf - WPF と WinForms コントロールで同じショートカットを処理する最良の方法は何ですか?
メインウィンドウに次の KeyBinding を持つ WPF アプリケーションがあります。
これにより、コマンドはショートカットにうまく反応します。ただし、WinForms テキスト ボックスまたはリッチ テキスト ボックスを埋め込んだすべての場所で、これらのショートカットを使用できなくなりました。上記のバインドを削除すると、WinForms のショートカットが正常に機能します。
WinForms と WPF の両方でこれらのショートカットをサポートするにはどうすればよいですか? この問題は、同じキーバインドを持つ他の多くのコマンドに影響を与える可能性があるため、一般的な方法をお勧めします。
winforms - Interop Forms Toolkit DLL および「クラスはオートメーションをサポートしていないか、予期されるインターフェイスをサポートしていません」というエラー
Interop Forms Toolkit 2.1 を使用して COM dll に変換した .NET WinForms アプリケーションがあります。アプリケーションのセットアップ プロジェクトには、私の tlb と Microsoft.InteropFormTools.tlb ファイルの両方があり、vsdrpCOM として登録するように設定されています。プロジェクトの前提条件は、Windows インストーラー 3.1、.NET Framework 3.5 SP1、および Microsoft Interop Forms Redistributable Package 2.0a がインストールされていることを確認することです。
これを Visual Studio 2010 と Visual Studio 6 の両方がインストールされた Windows XP ボックスでローカルに実行すると、正常に動作します。しかし、この Windows XP マシンでは、「クラスはオートメーションをサポートしていないか、期待されるインターフェイスをサポートしていません」というエラーが表示されます。
何か案は?
wpf - WinFormsアプリにWPFウィンドウを追加する方法
WinFormsアプリケーションでビジネスエンティティを検査するためのHUDウィンドウを作成しています。
まったく異なるスタイルのウィンドウ(コンテンツ領域を最小化し、TitleBarのみを表示し、システムボタンを表示しないなど)が必要だったので、このためのWPFアプリケーションを作成しました。
問題は、このウィンドウをWinFormsアプリケーション内で「ライブ」にしたいことです。WPFをOwnedFormとして追加したり、メインフォームをWPFウィンドウの所有者として設定したりすることはできません。
では、どうすればこれを達成できますか?
編集:pstのおかげで私は答えを見つけました。スニペットは次のとおりです。
c# - DataGridViewTextBoxCellからHandleIntPtrを取得しますか?
透かしテキストが必要なテキストボックスセルの列を持つDataGridViewがあります。また、DLLImportを使用して、パラメーターの1つとしてIntPtr hWndを使用してSendMessageを使用し、次のように透かしをTextBoxに追加する静的クラスがあります。
問題は、TextBoxがControl.Handleプロパティを継承しているのに対し、DataGridViewTextBoxCellは継承していないため、そのIntPtrパラメーターを取得できないことです。セルがTextBoxコントロールを使用して値を編集していることを理解しているので、そのハンドルに到達する方法はないでしょうか。
.NET 2.0とC#を使用しています