我想将本机 Windows ProgressDialog添加到我的 c# 应用程序。为了更好地控制,我定义了一个OnUserCancelled事件。从主窗体调用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 Form 中的Invoke()方法)。
注意:Timer 类也有同样的问题...