J'ai créé un contrôle de formulaire Windows qui fonctionne correctement dans Internet Explorer. Je voudrais lui donner un événement et être capable de répondre à l'événement par javascript. J'ai trouvé un lien qui en parle here. Il me montre comment créer les interfaces mais je ne suis pas sûr de savoir comment tirer l'événement de mon contrôle?Utilisation d'événements dans les contrôles de formulaire Windows hébergés sur IE
Voici mon code snippets:
//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>
Merci. Alors, quand le gestionnaire d'événements est-il défini? J'ai vérifié dans l'événement de chargement du contrôle d'utilisateur et le eventhandler est toujours null, donc je n'ai pas obtenu quelque chose raccordé juste, ou il n'a pas encore été réglé. – Jeremy
Voir ma prochaine réponse –