Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 16327|Svar: 5

[WinForm] Hur bakgrundstrådar fungerar ramar webbsidor

[Kopiera länk]
Publicerad på 2019-01-22 21:43:08 | | |
För det första, om jag kör följande sats med en UI-tråd, är det inget problem
        privat void button9_Click_1(objektavsändare, EventArgs e)
        {
            MSHTML. HTMLDocument doc = GetIe("URL"); GetIe är en metod för att hämta IE-dokument på en specificerad URL;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Men om jag lägger in den i en bakgrundstråd kastar den ett undantag: InvalidCastException, den specificerade konverteringen är ogiltig, koden är som följer
   privat asynkron void button9_Click_1(objektavsändare, EventArgs e)
        {
            Action action = ny Action (test12);
            vänta på Task.Run(action);
        }
        Privat tomrumstest12()
        {
            MSHTML. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Hur skriver man rätt?




Föregående:Dagens C# Study Notes
Nästa:"Senran Kagura Burst: Re:Newal" kinesisk och engelsk gratisversion
Publicerad på 2019-01-23 08:03:26 |
Publicerad på 2019-01-23 09:08:36 |

Tjog

Antal deltagare1MB+1 bidra+1 Kollaps förnuft
crystal0330 + 1 + 1 Mycket kraftfullt!

Se alla betyg

 Hyresvärd| Publicerad på 2019-01-23 22:04:56 |

Tack så mycket, problemet är löst, det är bara det att jag är ny på asynkron och inte förstår varför det är skrivet så här, det vore mer perfekt om du kunde förklara det.
 Hyresvärd| Publicerad på 2019-01-24 06:38:37 |
Detta inlägg redigerades senast av crystal0330 den 2019-1-24 06:55

Hej, jag stötte också på ett problem i framtiden:



ClickYes är en metod som låter dig flytta musen till OK-knappen i popupfönstret och klicka två gånger



Nu har jag två problem:
1. Skriv så här,ClickYes kan bara låtaDet andra musklicket, det vill säga det första klicket, utförs inte, om det är i UI-tråden kan det klickas två gånger;
2. Jag nådde en brytpunkt i ClickYes-metoden, och efter att programmet avbrutits tryckte jag på F11 igen och körde inte nästa kod i ClickYes. Så hur felsöker man steg för steg?

 Hyresvärd| Publicerad på 2019-01-24 14:33:03 |

Hej, jag försökte precis igen, och när jag skriver så här fastnar winform-gränssnittet igen, vilket ger samma effekt som att använda UI-tråden direkt...
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com