【发布时间】:2012-08-02 06:38:07
【问题描述】:
我有一个 OCX,我在服务中使用它,但没有可见的表单。 它需要一个表单作为父级,否则它的事件不会被触发 如何让 ocx 处理消息并触发事件?
这是我的代码:
public AxKylixSMS SMS;
SMS = new AxKylixSMS();
SMS.CreateControl();
SMS.NewDeliveryReport += new _DKylixSMSEvents_NewDeliveryReportEventHandler(OnDeliveryReport);
OnDeliveryReport 事件未触发。我该如何解决这个问题?
【问题讨论】:
-
几乎所有 ActiveX 控件都需要一个宿主窗口才能激活。不托管它的典型故障模式是它拒绝引发事件。 Application.Run() 启动的消息循环也很关键。你可以隐藏它所在的窗口,见stackoverflow.com/a/3742980/17034