ocx中的事件没有在单线程单元(STA)中引发

时间:2016-12-20 07:31:32

标签: multithreading events activex ocx sta

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

.imgbox {
   height: 174px;
   width: 270px;
   overflow: hidden;
   margin: 0 auto;
   background-color: black;
   text-align: center;
   position: relative;
 } 

.img_content {
   max-height: 174px;
   max-width: 270px;
   position: absolute;
   transform: translate(-50%,-50%);
   top: 50%;
   left: 50%;
 }

我觉得这个控制工作正常,因为我看到里面的linstener正在工作! 但事件从未引发过!

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

        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);

活动raiesd !!

任何人都知道为什么?

0 个答案:

没有答案