Multithreading ocx中的事件没有';单线单元(STA)中的t形天井

Multithreading ocx中的事件没有';单线单元(STA)中的t形天井,multithreading,events,activex,ocx,sta,Multithreading,Events,Activex,Ocx,Sta,我试图通过代码手动创建ocx控件(因为我需要在web应用程序中使用此控件,所以我创建了一个表单应用程序并使用此控件进行测试),当前程序是STA模式 AxC_FaceServerSdk axc = new AxCFaceServerSdkLib.AxC_FaceServerSdk(); axc.CreateControl(); axc.OnEventCConnect += delegate(object sender, _DFaceServerSdk

我试图通过代码手动创建ocx控件(因为我需要在web应用程序中使用此控件,所以我创建了一个表单应用程序并使用此控件进行测试),当前程序是STA模式

        AxC_FaceServerSdk axc = new AxCFaceServerSdkLib.AxC_FaceServerSdk();
        axc.CreateControl();
        axc.OnEventCConnect += delegate(object sender, _DFaceServerSdkEvents_OnEventCConnectEvent e)
        {
            MessageBox.Show("raised");
        };
        axc.C_ServerInit(30000, 0);
我认为这个控制正常工作,因为我看到里面的linstener正在工作! 但这件事从未发生过

然后尝试了另一种方法:将ocx控件拖动到窗体中,并使用以下代码:

        this.axC_FaceServerSdk1.C_ServerInit(30000, 0);
        this.axC_FaceServerSdk1.OnEventCConnect += delegate(object sender, _DFaceServerSdkEvents_OnEventCConnectEvent e)
        {
            MessageBox.Show("raised");
        };
事件发生


有人知道为什么吗?

太棒了!解决了。。。看下面:太棒了!解决了它。。。见下文: