2016-05-07 11 views
0

Ich habe versucht, dieses Problem zu lösen, und ich brauche Hilfe und Ratschläge.Aufruf des Webbrowsers

Das Problem ist, dass ich eine lokale HTML-Datei aufrufen möchte.

Solution Explorer

Die Berufung Datei ist die HelpFile.cs und dass in der Form enthält das WebBrowser-Steuerelement.

Die Adresse, die ich zu erreichen bin versucht

C:\Users\Keith\Desktop\Lingerie\Corset\Corset\Bra.html 

Die Datei aus

Webbrowser Properties

genannt wird Das Ergebnis ist die gefürchtete Seite kann nicht angezeigt werden.

Was ich tun möchte, ist in der Lage, die Datei als eine relative HTML-Seite aufrufen. Zu einem späteren Zeitpunkt würde ich gerne verschiedene Hilfedateien aufrufen können.

Ist dies der beste Weg, um fortzufahren oder habe ich einen grundlegenden Fehler gemacht und den falschen Weg gegangen?

Jede konstruktive Hilfe wäre willkommen.

+0

Nachdem Sie das Programm in Benutzer-Maschine laufen, werden die Dateien nicht in 'C: \ Users Keith \ Desktop \ Wäsche \ Korsett \ Korsett \ Bra.html' \. Es genügt auch, einfach mit 'C: \ Benutzer \ Keith \ Desktop \ Lingerie \ Korsett \ Korsett \ BH zur Adresse zu navigieren.html' –

+0

Ich würde vorschlagen, die Dateien als Teil der Ressourcen des Projekts einzubetten, auf diese Weise können Sie das Programm auf jedem Rechner ausführen, ohne sich darum kümmern zu müssen, ob sich die .html-Dateien auf dem Laufwerk c: \ des Benutzers befinden. Ich würde den Pfad auch nicht in den Eigenschaften der Designeransicht fest codieren. Weisen Sie die Dateien dem Webbrowser mit einer der folgenden Optionen zu: http://stackoverflow.com/questions/11560639/how-to-load-local-html-pages-in-webbrowser-control-in-c-sharp – Michael

Antwort

2

Mithilfe des Designers ist es ausreichend, die Eigenschaft Url auf die genaue Dateisystemadresse einzustellen, und Sie benötigen diese http://file/// nicht. Auch Code zu einem Dateisystem URL zu navigieren, können Sie eine dieser Optionen verwenden:

  • this.webBrowser1.Url = new System.Uri(@"d:\test.html", System.UriKind.Absolute);
  • this.webBrowser1.Navigate(@"d:\test.html");

Aber Sie sollten jetzt, nachdem Sie das Programm in Benutzern ausgeführt Maschine, die Datei wird nicht in dieser Adresse sein. Daher sollten Sie die Datei in Ihrem bin-Ordner aufbewahren oder als Ressource verwenden und sie von der Ressource oder Ihrem Bin-Pfad verwenden.

Legen Sie die Datei in Ausgabeverzeichnis

Zur Lösung Explorer und Eigenschaften der Datei. Stellen Sie dann Copy to Output Directory auf Copy always. Dann wird die Datei in Ihrem Ausgabeverzeichnis kopiert werden, und Sie können es auf diese Weise verwenden:

var path = System.IO.Path.Combine(Application.StartupPath, "test.html"); 
this.webBrowser1.Navigate(path); 

Ressource verwenden

Sie Resources.resx Datei Ihres Projekts öffnen und fügen Sie vorhandene Datei und die HTML-Datei hinzufügen zu ihm. Dann ist der Inhalt über eine String-Eigenschaft Ihrer Ressourcen verfügbar. Dann können Sie es auf diese Weise verwenden:

this.webBrowser1.DocumentText = Properties.Resources.test; 
Verwandte Themen