Member 13427032 Ответов: 1

Как отобразить webbrowser1?


я смотрю на другие учебники ang они используют webBrowser1 но на моем он не появился автоматически я уже добавил
using System.Windows.Forms;

если я использую
WebBrowser webBrowser1 = new WebBrowser();
для отображения webBrowser1 у меня возникла ошибка
n exception of type 'System.Threading.ThreadStateException' occurred in System.Windows.Forms.dll but was not handled in user code

Additional information: ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.


Что я уже пробовал:

я смотрю на youtube и сразу же появляюсь там.
webBrowser1 

кто нибудь может мне помочь заранее спасибо

F-ES Sitecore

Вы гуглили сообщение об ошибке?

RossMW

Звучит как проблема с настройкой вашего компьютера / программного обеспечения. Попробуйте вернуться к основам. Можете ли вы создать пустой проект, добавить в него объект webbrowser без ататчированного кода и запустить его? Если нет, то у вас есть проблема с вашим окружением. Если вы можете запустить его, то вам нужно начать искать эксперименты с базовым кодом для запуска веб-браузера.

Richard Deeming

Найти Main метод, и убедитесь, что он имеет [STAThread] атрибут на нем.

1 Ответов

Рейтинг:
1

Dave Kreskowiak

Хорошо, почему вы должны были добавить ссылку на систему.Окна.Формы? Это не должно быть приложение Windows Forms для начала, и это, вероятно, то, что вызывает эту проблему. С какого приложения вы начали? Консоли, помощью WPF ASP.NET, ... ? Что?


[no name]

"Это не должно быть приложение Windows Forms для начала, и это, вероятно, то, что вызывает эту проблему": почему WebBrowser не должен использоваться в WinForm, я делал это более одного раза? Чего мне не хватает?

Dave Kreskowiak

Потому что разные типы проектов начинаются с разных моделей потоковой передачи. Кроме того, такие вещи, как ASP.NET проект никогда не должен использовать элемент управления WebBrowser.

[no name]

Но почему вы думаете, что это так ASP.NET-что?

Dave Kreskowiak

Потому что другие нубы пытались это сделать, и в этом случае он сказал, что явно добавил импорт для системы.Окна.Формы.

[no name]

Я ничего не понимаю, ничего особенного...

Dave Kreskowiak

Потому что элемент управления WebBrowser является экземпляром IE. Это очень тяжелый контроль, который требует формы, чтобы работать. Это излишне для веб-сервера, которому может потребоваться получить данные с другого URL-адреса. Есть и другие более быстрые и легкие варианты для этого.

[no name]

Согласитесь на это. Но я думаю, что ОП просто пытается ознакомиться с основами.