Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 г. 8:03:26 ч. |
Публикувано в 23.01.2019 г. 9:08:36 ч. |

Резултат

Брой участници1MB+1 допринасям+1 Срив причина
crystal0330 + 1 + 1 Много мощно!

Вижте всички оценки

 Хазяин| Публикувано в 23.01.2019 г. 22:04:56 ч. |

Много благодаря, проблемът е решен, просто съм нов в async и не разбирам защо е написано така, щеше да е по-перфектно, ако можеше да го обясниш.
 Хазяин| Публикувано в 24.01.2019 г. 6:38:37 ч. |
Този пост беше последно редактиран от crystal0330 на 2019-1-24 06:55

Здравейте, и аз се сблъсках с проблем в бъдещето:



ClickYes е метод, който ви позволява да преместите мишката към бутона OK в изскачащия прозорец и да кликнете два пъти



Сега имам два проблема:
1. Пиши така,ClickYes може само да пуснеВторото кликване с мишката, тоест първото кликване, не се изпълнява, ако е в UI нишката, може да се кликне два пъти;
2. Достигнах точка на прекъсване в метода ClickYes и след като програмата беше прекъсната, натиснах F11 отново, но не изпълних следващия код в ClickYes. Как да дебъгвам стъпка по стъпка?

 Хазяин| Публикувано в 24.01.2019 г. 14:33:03 ч. |

Здравейте, току-що опитах отново, и когато пиша така, интерфейсът на winform пак зацикля, което е същият ефект като използването на директната UI нишка...
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com