ネイティブウィンドウのProgressDialogをc#アプリケーションに追加したいと思います。より適切に制御するために、OnUserCancledイベントを定義しました。メインフォームからShowDialog()が呼び出された後、 ProgressDialogクラスは、ネイティブProgressDialogがキャンセルされたかどうかをチェックするスレッドを開始しますが、問題はIProgressDialogがメインスレッドに属し、チェッカースレッドからアクセスできないことです。エラーは重大です。
タイプ'WindowsDialogs.Invokes.Interfaces.IProgressDialogC'のCOMオブジェクトをインターフェイスタイプ'WindowsDialogs.Invokes.Interfaces.IProgressDialog'にキャストできません。IID'{EBBC7C04-315E-11D2-B62F-006097DF5BD4}'のインターフェイスのCOMコンポーネントに対するQueryInterface呼び出しが、次のエラーのために失敗したため、この操作は失敗しました:そのようなインターフェイスはサポートされていません(HRESULTからの例外:0x80004002(E_NOINTERFACE)) 。
コマンドをメインクラスに呼び出す方法はありますか( .netフォームにあるInvoke()メソッドなど)。
注:タイマークラスにも同じ問題があります...