Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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)
        {
            Дія = нова дія (тест12);
            чекати на завдання. Біг (дія);
        }
        Приватний тест порожнечі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 08:03:26 |
Опубліковано 23.01.2019 09:08:36 |
Зміни  

Спробуй

Забити

Кількість учасників1МБ+1 Сприяють+1 Колапс причина
crystal0330 + 1 + 1 Дуже потужно!

Переглянути всі рейтинги

 Орендодавець| Опубліковано 23.01.2019 22:04:56 |

Дуже дякую, проблема вирішена, просто я новачок у async і не розумію, чому так написано, було б ідеальніше, якби ви могли це пояснити.
 Орендодавець| Опубліковано 24.01.2019 06:38:37 |
Цей допис востаннє відредаговано crystal0330 2019-1-24 06:55

Привіт, я також зіткнувся з проблемою в майбутньому:



ClickYes — це метод, який дозволяє перемістити мишу до кнопки OK у спливаючому вікні та натиснути двічі



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

 Орендодавець| Опубліковано 24.01.2019 14:33:03 |

Привіт, я щойно спробував знову, і коли пишу так, інтерфейс winform знову зависає, що дає той самий ефект, що й використання прямого інтерфейсу...
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com