Сбой веб-браузера. Миграция VB6 на VB.Net. Сбой ExecWB и QueryStatusMethod

Я хочу перенести приложение с VB6.0 на VB.net. Я переношу его сам и получаю ошибку в этих двух строках. Ошибка говорит: «ExecWB не является членом System.Windows.Forms.WebBrowser»!! Та же ошибка с методом ExecWB. Я не нашел для этого решения или эквивалентного кода в .net. Нужен ли импорт, ссылка или эквивалентный тип?

Пожалуйста помоги.

eQuery = webBrowser.QueryStatusWB(SHDocVw.OLECMDID.OLECMDID_COPY)
webBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP,   
SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT, Nothing, Nothing)

веб-браузер?

Спасибо


person user987144    schedule 17.10.2011    source источник


Ответы (2)


Есть две разные WebBrowser вещи: WebBrowser Object и WebBrowser Control. объект — это версия ActiveX, которую вы использовали в VB6, а элемент управления был полностью переработан в соответствии со стандартами .Net. Хотя между ними могут быть некоторые общие методы, свойства и события, они на самом деле не связаны.

Вы можете продолжать использовать версию ActiveX в .Net, если хотите. Вам нужно будет добавить ссылку на него либо через меню «Добавить ссылки», либо добавив объект Microsoft Web Browser в свой набор инструментов. Если вы хотите использовать версию .Net, вам нужно будет найти обновленный способ выполнения ваших конкретных задач.

person Chris Haas    schedule 17.10.2011

30-секундный поиск в Google вернул < href="http://www.codeproject.com/KB/vb/webbrowserzoom.aspx" rel="nofollow">эта статья, в которой предлагается использовать позднее связывание свойства ActiveXInstance для прямого доступа к методам. .

Обратите внимание, что этот метод помечен как «только для использования инфраструктуры» и может быть изменен/удален и т. д. позднее.

person Deanna    schedule 17.10.2011
comment
И как я могу добавить ссылку на старую библиотеку VB6.0? У меня есть поиск в справочном меню, но я не могу найти эквивалентную библиотеку. - person user987144; 18.10.2011
comment
Вы просматриваете везде, где OCX находится в вашей системе. Обратите внимание, что Крис предложил это. В статье, на которую я ссылался, показано, как это сделать с .NET, который вы уже используете. - person Deanna; 18.10.2011