我創建了一個可以在Internet Explorer中成功託管的窗體控件。我想給它一個事件,並能夠通過JavaScript迴應事件。我找到了一個關於它的鏈接here。它向我展示瞭如何創建界面,但我不確定如何從我的控制中觸發事件?在IE託管的窗體控件中使用事件
這裏是我的代碼片段:
//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>
謝謝。那麼,事件處理程序何時設置?我檢查了用戶控件的Load事件並且事件處理程序仍然是空的,所以要麼我沒有得到正確的東西,要麼還沒有設置。 – Jeremy 2008-11-18 19:16:58
查看我的下一個答案 – 2008-11-18 19:31:42