Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 16327|Antwoord: 5

[WinForm] Hoe achtergronddraden werken bij frame-webpagina's

[Link kopiëren]
Geplaatst op 22-01-2019 21:43:08 | | |
Allereerst, als ik de volgende instructie uitvoer met een UI-thread, is er geen probleem
        private void button9_Click_1(object sender, EventArgs e)
        {
            MSHTML. HTMLDocument doc = GetIe("URL"); GetIe is een methode om IE-documenten op een opgegeven URL te verkrijgen;
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
Als ik het echter in een achtergronddraad zet, geeft het een uitzondering: InvalidCastException, de gespecificeerde conversie is ongeldig, de code is als volgt
   private async void button9_Click_1(object sender, EventArgs e)
        {
            Action action = nieuwe Action (test12);
            wachten op Task.Run(actie);
        }
        Privé Void Test12()
        {
            MSHTML. HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 Hoe schrijf je de juiste versie?




Vorig:De C# Studienotities van vandaag
Volgend:"Senran Kagura Burst: Re:Newal" Chinese en Engelse gratis versie
Geplaatst op 23-01-2019 08:03:26 |
Geplaatst op 23-01-2019 09:08:36 |

Partituur

Aantal deelnemers1MB+1 bijdragen+1 Instorting reden
crystal0330 + 1 + 1 Heel krachtig!

Bekijk alle beoordelingen

 Huisbaas| Geplaatst op 23-01-2019 22:04:56 |
Xiao Zhao geplaatst op 23-1-2019 09:08
Verandering  

Probeer het

Hartelijk dank, het probleem is opgelost, het is alleen dat ik nieuw ben met asynchroon en niet begrijp waarom het zo geschreven is, het zou beter zijn als je het kon uitleggen.
 Huisbaas| Geplaatst op 24-01-2019 06:38:37 |
Dit bericht is voor het laatst bewerkt door crystal0330 op 2019-1-24 06:55
Xiao Zhao geplaatst op 23-1-2019 09:08
Verandering  

Probeer het

Hallo, ik ben in de toekomst ook een probleem tegengekomen:



ClickYes is een methode waarmee je de muis naar de OK-knop in het pop-upvenster kunt bewegen en twee keer kunt klikken



Nu heb ik twee problemen:
1. Schrijf zo,ClickYes kan alleen toestaanDe tweede klik van de muis, dat wil zeggen de eerste klik, wordt niet uitgevoerd; als het in de UI-thread zit, kan het twee keer worden geklikt;
2. Ik bereikte een breekpunt in de ClickYes-methode, en nadat het programma was onderbroken, drukte ik opnieuw op F11 en voerde de volgende code niet uit in ClickYes. Hoe debug je stap voor stap?

 Huisbaas| Geplaatst op 24-01-2019 14:33:03 |
Xiao Zhao geplaatst op 23-1-2019 09:08
Verandering  

Probeer het

Hallo, ik heb het net opnieuw geprobeerd, en als ik zo schrijf, blijft de winform-interface weer vastzitten, wat hetzelfde effect heeft als direct de UI-thread gebruiken...
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com