이벤트를 발생시키는 ActiveX 컨트롤 (OCX 파일)이 있습니다. C#에서 해당 이벤트를 catch하고 싶습니다. 어떻게해야합니까?C에서 ActiveX 컨트롤 이벤트 처리
내가 자바 스크립트에서 컨트롤의 이벤트를 잡을 수 있습니다, 여기에 내가 C#에서 그것을 할 원하는
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body >
<script type="text/javascript" for="CRMCntrl1" event="NewCall(szCallID, szCallType, nCallStartTime, szCLI, szOtherInfo)">
document.getElementById("abc").innerHTML="CallID: " + szCallID + "</br>" +
"CallType: " + szCallType + "</br>" +
"CallStartTime: " + nCallStartTime + "</br>" +
"CLI: " + szCLI + "</br>" +
"OtherInfo: " + szOtherInfo + "</br>" ;
</script>
<p>
<object id="CRMCntrl1" classid="clsid:D26FE0DF-5CAC-44E4-AA7A-E1794D9634D1">
</object>
</p>
<div id="abc">
</div>
</body>
</html>
코드입니다. 그래서 컨트롤의 COM 참조를 추가했습니다. 그것은 폼의 클래스에서 구현 한 인터페이스를 포함합니다. 인터페이스 중 하나에서 이벤트가 있는데, 나는 그 이벤트를 구독하고 기본적으로 캡처하려는 이벤트이지만 발생하지는 않습니다.
여기
은 제외하고 ... 뭔가 작업을해야 게시 한 무엇// other namespaces here
using CRMCNTRLLib;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form, CRMCntrl
{
public Form1()
{
InitializeComponent();
this.NewCall += new _DCRMCntrlEvents_NewCallEventHandler(this.OnNewCall);
}
public event _DCRMCntrlEvents_NewCallEventHandler NewCall;
public void AboutBox()
{
MessageBox.Show("steadfast");
}
public void OnNewCall(string szCallID, string szCallType, int nCallStartTime, string szCLI, string szOtherInfo)
{
MessageBox.Show(szCallID + szCallType + nCallStartTime + szCLI + szOtherInfo);
}
}
}
감사합니다. – akif