私は、SHDocVw DLLを使用してC#からInternet Explorerインスタンスを開いて操作しています。私はいくつかのテキストボックスのonkeyupイベントをアクティブにする必要があります。これは私が使用するコードです:「適用」または「呼び出し」機能を複数回使用することはできません
dynamic userNameTextBox=doc.getElementById(5749).getElementsByTagName("input")[0];
userNameTextBox.value=userName;
userNameTextBox.onkeyup.apply(userNameTextBox);
dynamic passwordTextBox=doc.getElementById(5750).getElementsByTagName("input")[0];
passwordTextBox.value=password;
passwordTextBox.onkeyup.apply(passwordTextBox);
これは、「適用」する最初の呼び出しのために動作しますが、2回目の呼び出しでエラーが発生した:「System.MissingMemberException:エラー起動している間は適用されます。」。この問題は、「適用」の代わりに「呼び出し」を使用する場合にも発生します。しかし、イベント呼び出し関数の1つを "適用"から "呼び出し"に変更すると、動作しますが、私のプログラムの同じインスタンスでこのコードを再度呼び出そうとすると、同じ例外がスローされます。 要するに、プログラムを再起動しない限り、「適用」または「呼び出し」を複数回使用することはできません。
この問題はWindows XP + IE8でのみ発生します。私がWindows7 + IE9で試してみると、「適用」/「呼び出し」を何度でも使うことができます。
「適用」/「呼び出し」を複数回使用したり、他の方法でイベントを呼び出すことができる何かがありますか?