сбой веб-браузера.Миграция VB6 на VB.Net.Ошибка ExecWB и QueryStatusMethod - PullRequest
0 голосов
/ 17 октября 2011

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

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

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

WebBrowser?

Спасибо

Ответы [ 2 ]

2 голосов
/ 17 октября 2011

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

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

0 голосов
/ 17 октября 2011

A 30с Google search вернул эту статью , в которой предлагается использовать позднюю привязку к свойству ActiveXInstance для прямого доступа к методам.

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

...