RuntimeBinderException в объекте IE - PullRequest
0 голосов
/ 05 мая 2011

Во-первых, я должен сказать, что мне нужно , чтобы использовать объект Internet Explorer (IE9) в моем приложении, я не могу использовать элемент управления webBrowser. Итак, я хочу эмулировать событие фокуса на поле на веб-странице:

webBrowser.Document.Forms[0].GetElementsByTagName("input")[0].InvokeMember("onFocus");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[0].SetAttribute("value", "aaaa");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[1].InvokeMember("onFocus");
webBrowser.Document.Forms[0].GetElementsByTagName("input")[1].SetAttribute("value", "bbbbb");

Переменная webBrowser: public static SHDocVw.InternetExplorer webBrowser;. Его значение установлено на new SHDocVw.InternetExplorer();.
Когда первая строка кода выполняется, я получаю исключение,

"System.MarshalByRefObject.InvokeMember(<...>)" Inaccessible due to protection level.

Я использую функцию private static. Может быть, это связано с тем, что документ IE является динамическим?
Итак, как я могу исправить это исключение? Или есть другой способ эмулировать фокус на поле?
Заранее спасибо.

1 Ответ

0 голосов
/ 14 мая 2011

Нужно использовать FireEvent () вместо InvokeMember ().

...