問題タブ [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.
c# - DropDownStyle が DropDown の場合、ComboBox キュー バナーが斜体にならない
ComboBox
選択範囲やテキストがない場合に「キュー バナー」(透かし) をサポートする の拡張バージョンである WinForms コントロールがあります。私たちの制御は、CB_SETCUEBANNER を使用するこの実装に似ています。
ただし、DropDownStyle
コントロールを に設定するとComboBoxStyle.DropDown
(つまり、自由なテキスト入力も許可する)、キュー バナーが表示されますが、イタリック体では表示されません (通常はイタリック体で表示されます)。
モードのコンボ ボックスのキュー バナーをイタリック体で描画する方法を知っている人はいComboBoxStyle.DropDown
ますか?
c# - How to embed a win32 Delphi Form in a .NET Winform
We would like to open some Delphi (win32) forms from .NET and embed the Delphi Form in a .NET MDI-form. If we just call the exported method in our Delphi DLL it is no problem to embed the form, however then we have problems with shortcuts and keyboard events in general. We believe that it’s because of incompatible messageloops. We’ve then tried to execute an Application.Run in the exported procedures in our Delphi DLL’s on a separate .NET-thread and it works the first time, but fails when we try to open the form more than once. Does anyone know how to interop the way we would like to do it: embed a win32 Delphi Form in a .NET Winform?
@All: First of all, thanks for your responses We found a solution to our problem: We moved the Delphi Application.Run into the exported procedure that starts the windows.
c# - Alt-Tab など、最後にアクティブだったアプリケーションに切り替える
わかりました、名前などでウィンドウを見つけることに関する多くの投稿を見つけました。私が見つけていないのは、ウィンドウアプリケーションのフォーカスを見つけて、最後にアクティブなウィンドウに切り替える方法です。以下に示すコードは、アクティブなタスク マネージャー内のアクティブなアプリケーションのリストを表示します。
どうすればいいのか分からないのは、どのアプリケーションが最後にアクティブだったのかを突き止めてから、それに切り替えることです。例えば...
カスタムの winform アプリケーションを開いています。
ボタンをクリックします
アプリケーションが最後にアクティブだったウィンドウ/アプリケーションに切り替わります。
ここに私がこれまでに持っている作業コードがあります。(これはボタンに対するアクションであり、アプリケーションに textbox1 という名前のテキスト ボックスがあることが想定されています。また、System.Diagnostics を使用して追加する必要があります。
c# - プログラムが最小化されている場合、またはシステム トレイにある場合に ctrl キーが 2 回押されたことを検出する方法
プログラムが最小化されている場合、またはシステム トレイにある場合に ctrl キーが 2 回押されたことを検出する方法
コントロールキーを 2 回押すとメインフォームが表示される ac# プログラムを開発しようとしています。ホットキーの組み合わせのサンプルを見つけましたが、これはコントロール + 他のキーのような組み合わせのホットキーではありません。これは、コントロール キーを 2 回押すと検索ボックスが表示される Google デスクトップ アプリのようなものです。
c# - Excelスプレッドシートからのデータの読み取り
重複の可能性:
Excelファイルからデータを読み取る
C#でExcelスプレッドシートから読み取るのに問題があります。私はAからXまでのすべてのセルを読み取るこのコードを持っています。
私の質問は次のとおりです。「number」値に基づいて、Excelで次の4 *「number」行を読み取るにはどうすればよいですか?
例えば:
Fのセル値が1なので読みたい(GHIJ)Fのセル値が2の場合読みたい(GHIJKLMN)
Fのセル値3:
。
c# - フォームからWPFウィンドウを開き、その逆を行いながら、VSデバッガーでそれらをデバッグするにはどうすればよいですか?
通常、私は次のような新しいウィンドウを開きます。
ただし、フォームからWPFウィンドウを開こうとすると、このメソッドは機能しません。その逆も同様です。そのため、次のようにしました。
このように行われた場合の問題は、デバッガーが新しいフォーム/ウィンドウをデバッグしないことです。
この問題を起こさずにこれを行う方法はありますか?
c# - Microsoft.Office.Interop.Excelの名前を付けて保存エラーを使用して.xlsxにエクスポートする
を使用してDataTableをExcelにエクスポートするモジュールを作成中ですがMicrosoft.Office.Interop.Excel
、本格的に開始する前に、ファイルを開き、名前を付けて保存し、閉じるという非常に基本的な機能を実行したいと考えています。
拡張子が.xlsのファイルを開いて保存することに成功しましたが、拡張子が.xlsxのファイルを保存できません。.xlsxファイルを書き込みますが、開こうとすると次のエラーが発生します。
ファイル形式が無効なため、Excelはファイル'SomeFile.xlsx'を開くことができません。ファイルが破損していないこと、およびファイル拡張子がファイルの形式と一致していることを確認してください。
ファイルを開いたり、保存したり、閉じたりするために使用するコードは次のとおりです。
Excel.XlFileFormat.xlExcel12
代わりにファイル形式も試しましたExcel.XlFileFormat.xlWorkbookNormal
が、COMExceptionをスローする代わりに書き込みさえしません。
HRESULTからの例外:0x800A03EC
これを解決するための助けをいただければ幸いです。
編集:私は今も試しました:
wpf - 非ビジュアル WinForms コントロールを WPF から使用できますか?
プログラムでインスタンス化されている限り、非ビジュアルな WinForms コントロールを WPF から使用できますか? WinForms でのみ使用できるコンポーネントの 2 つのセットを比較していますが、「今後」WPF アプリを作成したいと考えています。
wpf - ElementHostにバインドされたViewModelからホストWinFormプロパティを変更する
ElementHostのWPF要素からホストWinFormのプロパティを変更できるようにするアプローチを誰かが提案できますか?
ElementHostにバインドされたPrismを使用するMVVMアプリケーションがあります。WinFormのタイトルを変更し、WinFormのサイズを変更して、ViewModel内からWinFormを閉じたいと思います。
この記事で説明されているWPF複合コントロールからデータを受信することは理解していますが、ViewModelでどのように機能するかわかりません。
AppはWinFormChartWizardViewModelは、Appのプロパティを変更したいViewModelです。他のすべてはPrismアーキテクチャです。シェル、ブートストラッパーなど。
c# - DragDrop でのみ発生する例外
ComCtl32.dll の Vista スタイルのダイアログを利用するTaskDialog ライブラリを利用する WinForms アプリケーションがあり、下位の OS ではエミュレートされた win フォームを使用します...
しかし、それは問題ではありません...このライブラリは正常に動作し、問題が発生したことはありません. 今までは... 実際、通常の状況でダイアログを起動すると、問題ないように見えます。
ただし、他のソース (Windows エクスプローラーなど) からドロップされたファイル パスをキャプチャするために、メイン フォームにドラッグ アンド ドロップ ハンドラーを追加しました。そのドラッグ アンド ドロップ ハンドラがダイアログが初めて表示された場合、次の例外が発生します。
DLL 'ComCtl32' で 'TaskDialogIndirect' という名前のエントリ ポイントが見つかりません。
これは、サード パーティ ライブラリの次の呼び出しで発生します。
ダイアログがすでに表示されている場合、ハンドラーは正常に実行されます。
フォームの DragDrop ハンドラは表示されませんが、とにかくInvokeRequired
ダイアログを表示するように注意しました。Form.Invoke
余談ですが、64ビットのWindows 7マシンでコンパイル(および実行)していますが、「AnyCPU」アーキテクチャフラグを使用しています。
最初の呼び出しがTaskDialogIndirect
DragDrop ハンドラーを介した場合にのみ例外が発生する理由についての考え/解決策???