【发布时间】:2008-11-18 17:36:17
【问题描述】:
我创建了一个 Windows 窗体控件,它成功地托管在 Internet Explorer 中。我想给它一个事件并能够通过 javascript 响应事件。我找到了一个讨论它的链接here。它向我展示了如何创建接口,但我不确定如何从我的控件中触发事件?
这是我的代码 sn-pS:
//Control Code:
public class CardReader : Panel,ICardReaderEvents, ICardReaderProperties
{
public void Error()
{
}
public void Success()
{
}
}
//Interface for events
[Guid("DD0C202B-12B4-4457-9FC6-05F88A6E8BC5")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface ICardReaderEvents
{
[DispId(0x60020000)]
void Error();
[DispId(0x60020001)]
void Success();
}
//Interface for public properties/methods
public interface ICardReaderProperties
{
...
}
//JavaScript to handle events
<SCRIPT FOR="CardReader1" EVENT="Error">
window.status = "Error...";
</SCRIPT>
<SCRIPT FOR="CardReader1" EVENT="Success">
window.alert("Success");
window.status = "";
</SCRIPT>
【问题讨论】:
标签: c# .net winforms internet-explorer