Frage

Wir haben eine Zusammenfassung in unserer winform-Anwendung, die ein WebBrowser-Steuerelement verwendet, von einer Webseite der zusammengefassten Informationen angezeigt werden soll. Wir verwenden diese einige reiche tabellarische Layout zu gewinnen, dass wir nicht Standard winform Kontrollen unter Verwendung von vollenden könnte. das erste Mal, wird die Ansicht auf dem Client angezeigt es eine Weile (Start IE im Hintergrund Ich gehe davon aus) für ganz wenige Sekunden und die App gefriert Spin dauert. Ich bin eine Art Vorbelastung Mechaniker unter Berücksichtigung, dass IE im Hintergrund gesponnen-up bekommen würde und würde einige Gemeinschaft Führung mag.

Ich betrachte einen Off-Screen oder unsichtbare Form mit einem WebBrowser-Steuerelement bei App Start starten oder eine IE-Instanz in einer Art Seitengewinde bei ca. Anfang zu starten.

irgendwelche Vorschläge?

War es hilfreich?

Lösung

Sie können die Bedienelemente während der Start der Anwendung vorzuladen, in einem separaten Thread. Beachten Sie die STA Wohnung Zustand, die obligatorisch ist, wenn Sie einige COM-Objekte manipulieren wollen (wie das WebBrowser).

public static class ControlPreloader
{


    public static void PreloadAsync()
    {
        var thread = new Thread(Preload);
        thread.SetApartmentState(ApartmentState.STA);
        thread.Start();
    }

    private static void Preload()
    {
        using (var hostForm = new Form())
        {
            var control = new WebBrowser();
            hostForm.Controls.Add(control);
            control.CreateControl();

            hostForm.Close();
        }
    }

}

Andere Tipps

Ich habe nicht die Start-up Lags erfahren Sie erwähnen, aber als Idee, auf Start-up Sie about:blank navigieren können. Dann auf DocumentCompleted Ereignisse des Browsers können Sie eine Navigation zu Ihrem richtigen URL pfeifen. Das könnte helfen, ob es Ihre „IE Spin-up“ zu verstehen, die die ganze Zeit oder die Inhaltsabfrage und Renders nehmen.

In Bezug auf Ihre Architektur, es sei denn natürlich Ihre „rich tabellarische Layout“ ist bereits eingebaut und voll funktionsfähig, dann könnten Sie die WPF (es hat eine gute WinForms Integration Geschichte zu), um einige reicher und sexier Kontrollen, um in Ihre Anwendung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top