【问题标题】:How to determine if an event is complete using a 3rd Party API - C#?如何使用 3rd Party API - C# 确定事件是否完成?
【发布时间】:2010-11-21 03:30:33
【问题描述】:

我目前正在使用第三方 ActiveX 控件,我需要检测我从 API 调用的事件何时完成。

查看 VS 2008 对象浏览器中的 ActiveX 控件,我调用public virtual bool MyMethod() 并有一个事件public virtual event IActiveXObject_MyMethodEventHandler SettleComplete

还有一个代表 _IActiveXObjectEvents_MyMethodCompleteEventHandler() 是程序集的一部分

如何编写代码来配置我的应用程序以检测来自 ActiveX 控件的事件何时完成?

【问题讨论】:

    标签: c# event-handling delegates activex com-interop


    【解决方案1】:

    您可以使用线程同步方法,在该方法中,您有一个像事件这样的对象,用于在事件完成时发出信号。

    ManualResetEvent e = new ManualResetEvent();
    e.Reset();
    CallMyFunction();
    e.WaitOne();
    

    在处理程序的末尾:

    e.Set();
    

    也就是说,如果我正确理解了这个问题......

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 2017-01-04
      • 1970-01-01
      • 2010-10-30
      • 2020-08-10
      • 1970-01-01
      • 2014-08-26
      • 2021-11-18
      • 1970-01-01
      相关资源
      最近更新 更多