Я пытаюсь показать модальный диалог (ShowDialog), который был создан как WinForm. Диалоговое окно содержит элемент управления WebView2, который я хочу заполнить с помощью NavigateToString.
Я установил для свойства Source элемента управления WebView2 значение «about:blank», но когда я перехожу к Form_Shown() в форме диалогового окна (как предложено здесь),
CoreWebView2 имеет значение null.
Я попробовал вызвать await SureCoreWebView2Async() в Form_Load (как также предлагалось), но получил COMException, упомянутое в заголовке. Я также пытался сделать это изнутри делегата (form.Invoke или webView2Body.Invoke), что, как я думал, поместит код в поток пользовательского интерфейса элемента управления, но я все равно получаю то же исключение.
Как заставить это работать?
Вот код, который создает и показывает диалоговое окно:
Form2 formAsk = new Form2();
formAsk.Body = mailItem.Body;
DialogResult result = formAsk.ShowDialog();
Вот код внутри формы:
private void Form2_Load(object sender, EventArgs e)
{
this.Invoke((MethodInvoker)(delegate { EnsureCoreWebView2(); }));
Console.Write("Form2_Load is done");
}
private async void EnsureCoreWebView2()
{
await webView2Body.EnsureCoreWebView2Async();
Console.Write("EnsureCoreWebView2Async is done");
}
private void Form2_Shown(object sender, EventArgs e)
{
Console.Write("Form2_Shown is starting");
webView2Body.NavigateToString(Body);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ebview2asy
COMException: невозможно изменить режим потока после того, как он установлен в SureCoreWebView2Async(null) C# в ShowDial ⇐ C#
Место общения программистов C#
1762326816
Anonymous
Я пытаюсь показать модальный диалог (ShowDialog), который был создан как WinForm. Диалоговое окно содержит элемент управления WebView2, который я хочу заполнить с помощью NavigateToString.
Я установил для свойства Source элемента управления WebView2 значение «about:blank», но когда я перехожу к Form_Shown() в форме диалогового окна (как предложено здесь),
CoreWebView2 имеет значение null.
Я попробовал вызвать await SureCoreWebView2Async() в Form_Load (как также предлагалось), но получил COMException, упомянутое в заголовке. Я также пытался сделать это изнутри делегата (form.Invoke или webView2Body.Invoke), что, как я думал, поместит код в поток пользовательского интерфейса элемента управления, но я все равно получаю то же исключение.
Как заставить это работать?
Вот код, который создает и показывает диалоговое окно:
Form2 formAsk = new Form2();
formAsk.Body = mailItem.Body;
DialogResult result = formAsk.ShowDialog();
Вот код внутри формы:
private void Form2_Load(object sender, EventArgs e)
{
this.Invoke((MethodInvoker)(delegate { EnsureCoreWebView2(); }));
Console.Write("Form2_Load is done");
}
private async void EnsureCoreWebView2()
{
await webView2Body.EnsureCoreWebView2Async();
Console.Write("EnsureCoreWebView2Async is done");
}
private void Form2_Shown(object sender, EventArgs e)
{
Console.Write("Form2_Shown is starting");
webView2Body.NavigateToString(Body);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79809358/comexception-cannot-change-thread-mode-after-it-is-set-on-ensurecorewebview2asy[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия