In my app I have a WebBrowser element.
I would like to load a local file in it.
I have some questions:
- Where to place the HTML file (so that it will also be installed if a user executes the setup)
- how to reference the file? (e.g. my guess is the user's installation folder would not always be the same)
EDIT
I've added the HTML file to my project.
And I have set it up so that it gets copied to output folder.
When I check it it is present when run: \bin\Debug\Documentation\index.html
However when I do the following I get a 'Page cannot be displayed' error in the webbrowser element.
I use the following code to try to display the HTML file in the Webbrowser.
webBrowser1.Navigate(@".\Documentation\index.html");
Instead of using the current directory or getting the assembly, just use the
Application.ExecutablePath
property:Then you will be able to reference your files by using a path such as
@".\my_html.html"
Copy to Output Directory will put the file in the same folder as your binary dlls when the project is built. This works with any content file, even if its in a sub folder.
If you use a sub folder, that too will be copied in to the bin folder so your path would then be
@".\my_subfolder\my_html.html"
In order to create a URI you can use locally (instead of servered via the web), you'll need to use the file protocol, using the base directory of your binary - note: this will only work if you set the Copy to Ouptut Directory as above or the path will not be correct.
This is what you need:
You'll have to change the variables and names of course.
Windows 10
uwp
application.Try this:
Update on @ghostJago answer above
for me it worked as the following lines in
VS2017
Note that the
file:///
scheme does not work on the compact framework, at least it doesn't with 5.0.You will need to use the following: