Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 16327|Odpowiedź: 5

[WinForm] Jak wątki tła działają ramkowe strony internetowe

[Skopiuj link]
Opublikowano 22.01.2019 21:43:08 | | |
Po pierwsze, jeśli wykonam następujące zdanie za pomocą wątku UI, nie ma problemu
        private void button9_Click_1(object sender, EventArgs e)
        {
            MSHTML. HTMLDocument doc = GetIe("URL"); GetIe to metoda pozyskiwania dokumentów IE pod określonym adresem URL;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Jednak jeśli włożę to do wątku w tle, pojawia się wyjątek: InvalidCastException, określona konwersja jest nieprawidłowa, a kod wygląda następująco
   prywatna asynchroniczna pustka button9_Click_1(nadawca obiektu, EventArgs e)
        {
            Akcja = nowa akcja (test12);
            czekaj na Zadanie.Bieg (akcja);
        }
        Prywatny test pustości12()
        {
            MSHTML. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Jak napisać poprawny egzemplarz?




Poprzedni:Dzisiejsze notatki do nauki C#
Następny:"Senran Kagura Burst: Re:Newal" wersja chińsko-angielska darmowa
Opublikowano 23.01.2019 08:03:26 |
Opublikowano 23.01.2019 09:08:36 |

Wynik

Liczba uczestników1MB+1 przyczynić się+1 Zapaść powód
crystal0330 + 1 + 1 Bardzo potężne!

Zobacz wszystkie oceny

 Ziemianin| Opublikowano 23.01.2019 22:04:56 |

Bardzo dziękuję, problem rozwiązany, po prostu jestem nowy w asynchronii i nie rozumiem, dlaczego tak to napisane, byłoby lepiej, gdybyś mógł to wyjaśnić.
 Ziemianin| Opublikowano 24.01.2019 06:38:37 |
Ten post został ostatnio edytowany przez crystal0330 w dniu 2019-1-24 06:55

Cześć, też napotkałem problem w przyszłości:



ClickYes to metoda, która pozwala przesunąć myszką na przycisk OK w oknie wyskakującym i kliknąć dwa razy



Teraz mam dwa problemy:
1. Pisz tak,KlikTak, może tylko pozwolićDrugie kliknięcie myszy, czyli pierwsze kliknięcie, nie jest wykonywane; jeśli jest w wątku UI, można je kliknąć dwa razy;
2. Nawiązałem do punktu przerwania w metodzie ClickYes, a po przerwaniu programu ponownie nacisnąłem F11 i nie wykonałem kolejnego kodu w ClickYes. Jak więc krok po kroku debugować?

 Ziemianin| Opublikowano 24.01.2019 14:33:03 |

Cześć, właśnie spróbowałem ponownie i kiedy piszę w ten sposób, interfejs Winform znowu się zacina, co efekt jest taki sam jak przy bezpośrednim użyciu wątku UI...
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com