Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 16327|Ответ: 5

[WinForm] Как работают фоновые потоки веб-страниц кадров

[Скопировать ссылку]
Опубликовано 22.01.2019 21:43:08 | | |
Во-первых, если я исполню следующее операторское сообщение с UI-потоком, проблем не возникает
        private void button9_Click_1(object sender, EventArgs e)
        {
            mshtml. HTMLDocument doc = GetIe("URL"); GetIe — это способ получения документов IE по заданному URL;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Однако, если я помещаю это в фоновый поток, появляется исключение: InvalidCastException, указанное преобразование недействительно, код выглядит следующим образом
   private async void button9_Click_1(object sender, EventArgs e)
        {
            Action action = новое Action(test12);
            ждать задачу. Запустить (действие);
        }
        Частный тест пустоты12()
        {
            mshtml. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Как написать правильный вариант?




Предыдущий:Сегодняшние заметки по изучению C#
Следующий:«Senran Kagura Burst: Re:Newal» — бесплатная китайская и английская версии
Опубликовано 23.01.2019 8:03:26 |
Опубликовано 23.01.2019 9:08:36 |
Перемены  

Попробуй

Счёт

Количество участников1МБ+1 способствовать+1 Коллапс причина
crystal0330 + 1 + 1 Очень мощно!

Смотреть все рейтинги

 Хозяин| Опубликовано 23.01.2019 22:04:56 |
Xiao Zhao опубликовано 23.01.2019 09:08
Перемены  

Попробуй

Большое спасибо, проблема решена, просто я новичок в async и не понимаю, почему так написано, было бы идеально, если бы вы могли объяснить.
 Хозяин| Опубликовано 24.01.2019 6:38:37 |
Этот пост был последний раз отредактирован crystal0330 24.01.2019, 06:55
Xiao Zhao опубликовано 23.01.2019 09:08
Перемены  

Попробуй

Здравствуйте, у меня тоже возникла проблема в будущем:



ClickYes — это метод, позволяющий переместить мышь на кнопку OK в всплывающем окне и нажать дважды



Теперь у меня две проблемы:
1. Пиши вот так,ClickYes может только разрешатьВторой клик мышью, то есть первый клик не выполняется; если он находится в потоке пользовательского интерфейса, его можно нажать дважды;
2. Я нажал точку остановки в методе ClickYes, после прерывания программы снова нажал F11 и не выполнил следующий код в ClickYes. Так как же отладить пошаговый процесс?

 Хозяин| Опубликовано 24.01.2019 14:33:03 |
Xiao Zhao опубликовано 23.01.2019 09:08
Перемены  

Попробуй

Здравствуйте, я только что попробовал снова, и когда я пишу вот так, интерфейс winform снова зависает, что происходит так же, как при использовании прямой thread UI...
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com