Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 18379|Risposta: 1

[WinForm] Controlli simili a quelli del browser web

[Copiato link]
Pubblicato su 26/02/2016 15:05:52 | | |

Ora usando il browser web, mettilo in un thread indipendente, quando carichi la pagina web il programma rimarrà comunque bloccato, non risponde, non non risponde, e l'uso della CPU salirà al 30%.
Non si blocca quando la pagina web non si carica.

Inoltre, usare InvokeMember("Click") per simulare il clic su alcuni link è invalido, e il punto di interruzione può andare all'HtmlElement corretto, ma il clic simulato non risponde.

Non tutti i clic sono invalidi, solo alcuni pulsanti o link sono invalidi.


C'è un modo per risolvere i problemi sopra citati?
Se no, esiste un controllo di terze parti che occupa meno CPU, che supporta l'assegnazione di valori alle caselle di testo, la simulazione dei clic e l'uso delle barre di scorrimento.

WebKit .NET
webkit-sharp
CefSharp
awesomium
OpenWebKitSharp
geckofx
MozNET Web Component





Precedente:Quale è più potente, il kernel del browser Gecko o WebKit?
Prossimo:WebKit.net la soluzione all'eccezione WebKitBrowser.dll
 Padrone di casa| Pubblicato su 26/02/2016 15:29:06 |
Se è così, è semplice, ma il sito web usato dal progetto ha una compatibilità estremamente scarsa con IE (mi lamento: personalmente penso che IE sia un problema e il supporto agli standard troppo scarso), quindi non ho avuto altra scelta che cercare altri controlli simili per browser e ho trovato alcuni buoni controlli sostitutivi:

GeokoFx: Un pacchetto moduli Windows per Firefox Geoko Engine, scaricabile su Google Indirizzo: http://code.google.com/p/geckofx/ Sito ufficiale: http://www.geckofx.org/
WebKit.NET:webkit的.NET封装,下载地址:http://sourceforge.net/projects/webkitdotnet/

Inizialmente avevo deciso di usare GeokoFx, perché il sito web usato dal progetto si apre molto velocemente con Firefox, ma ho cercato per qualche giorno e non ho scoperto come passare un oggetto js al controllo; quando ho scoperto che il controllo webbroswer di Qt è anch'esso un controllo WebKit incapsulato, ho deciso di usare WebKit, ma WebKit.NET non forniva direttamente un modo per passare l'oggetto, e poi ho trovato un'altra cosa buona:

open-webkit-sharp:对webkit.net的又一次封装,提供了很多新功能。google上下载地址:http://code.google.com/p/open-webkit-sharp/
La seguente è molto semplice: scarica open-webkit-sharp, copia tutti i file nella cartella Core e nella cartella Riferimenti nella directory del progetto, poi apri il progetto e aggiungi il OpenWebKitSharp.dll di riferimento e WebKit.Interop.dll (se il tuo progetto gira su .NET Framework 2.0 o 3.5 riferimenti Binary_ Questi due file nella cartella NET2, nel caso di NET4.0, si riferiscono a queste due dll nella cartella Binary); Poi c'è la Cassetta degli Attrezzi - > Selezioni - > OpenWebKitSharp.dll di Selezione e trascina WebKitBrowser dalla Cassetta degli Attrezzi nel tuo modulo. Ora è un grande passo, ma per evitare ogni sorta di errore durante l'uso, dobbiamo prima installare due file di supporto:
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com