![](/img/trans.png)
[英]Register MouseEnter/MouseLeave events for disabled controls in windows form?
[英]Using events in IE hosted windows form controls
我創建了一個Windows窗體控件,該控件可以成功托管在Internet Explorer中。 我想給它一個事件,並能夠通過javascript響應該事件。 我在這里找到了一個談論它的鏈接。 它顯示了如何創建接口,但不確定如何從控件中觸發事件?
這是我的代碼段:
//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>
您在CardReader類中實現了錯誤:
public event Error;
public event Success;
protected void OnError()
{
if(Error != null)
Error();
}
protected void OnSuccess()
{
if(Success != null)
Success();
}
如果您的ICardReaderEvents接口更改為具有“錯誤”和“成功”作為參數,則只需在OnError和OnSuccess中對其進行調用。
那么,現在您需要知道如何將其掛接到Javascript中嗎? 這是我怎么知道的方法:
<object id="CR" ...></object>
<script type="text/javascript">
function CR::Error()
{
alert("Error!");
}
function CR::Success()
{
alert("Success");
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.