Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 16327|Svare: 5

[WinForm] Hvordan bakgrunnstråder fungerer ramme-nettsider

[Kopier lenke]
Publisert på 22.01.2019 21:43:08 | | |
Først og fremst, hvis jeg kjører følgende setning med en UI-tråd, er det ikke noe problem
        privat void button9_Click_1(objektavsender, EventArgs e)
        {
            MSHTML. HTMLDocument doc = GetIe("URL"); GetIe er en metode for å hente IE-dokumenter på en spesifisert URL;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Men hvis jeg legger det inn i en bakgrunnstråd, kaster det et unntak: InvalidCastException, den spesifiserte konverteringen er ugyldig, koden er som følger
   privat asynkron void button9_Click_1(objektavsender, EventArgs e)
        {
            Action action = ny Action (test12);
            await Task.Run(action);
        }
        Privat Void Test12()
        {
            MSHTML. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Hvordan skrive den riktige?




Foregående:Dagens C# Study Notes
Neste:"Senran Kagura Burst: Re:Newal" kinesisk og engelsk gratisversjon
Publisert på 23.01.2019 08:03:26 |
Publisert på 23.01.2019 09:08:36 |

Score

Antall deltakere1MB+1 bidra+1 Sammenbrudd grunn
crystal0330 + 1 + 1 Veldig kraftig!

Se alle vurderinger

 Vert| Publisert på 23.01.2019 22:04:56 |

Tusen takk, problemet er løst, det er bare det at jeg er ny på asynkron og ikke forstår hvorfor det er skrevet slik, det hadde vært mer perfekt om du kunne forklare det.
 Vert| Publisert på 24.01.2019 06:38:37 |
Dette innlegget ble sist redigert av crystal0330 den 24.01.2019 kl. 06:55

Hei, jeg har også støtt på et problem i fremtiden:



ClickYes er en metode som lar deg flytte musen til OK-knappen i popup-vinduet og klikke to ganger



Nå har jeg to problemer:
1. Skriv slik,ClickYes kan bare laDet andre klikket med musen, altså det første klikket, utføres ikke; hvis det er i UI-tråden, kan det klikkes to ganger;
2. Jeg nådde et brytepunkt i ClickYes-metoden, og etter at programmet ble avbrutt, trykket jeg på F11 igjen, og kjørte ikke neste kode i ClickYes. Så hvordan feilsøker man steg for steg?

 Vert| Publisert på 24.01.2019 14:33:03 |

Hei, jeg prøvde nettopp igjen, og når jeg skriver slik, sitter winform-grensesnittet fast igjen, noe som gir samme effekt som å bruke UI-tråden direkte...
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com