In this article I will explain with an example, how to load and display HTML file in WebBrowser control in Windows Application (Windows Forms Application) using C# and VB.Net.
 
 
Concept
In order to display HTML file in WebBrowser control in a Windows Application, the HTML file is added to the project as an Embedded Resource. For more details please read my article, Embed and read files in Windows Application (Windows Forms) in C# and VB.Net.
Finally the contents of the HTML file are loaded into the WebBrowser control.
 
 
HTML File
Following HTML file will be used to load and display HTML content in the WebBrowser control.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
    <title></title>
</head>
<body>
    <font face='arial' size='3'>Hello,<br />
        My name is <b style='color: red'>Mudassar Khan</b>.</font>
    <hr />
    <img src='https://www.aspsnippets.com/images/authors/Mudassar.png' />
</body>
</html>
 
 
Form Controls
The following Form consists of a WebBrowser control.
Load and display HTML file in WebBrowser control in Windows Application using C# and VB.Net
 
 
Namespaces
You will need to import the following namespaces.
C#
using System.IO;
using System.Reflection;
 
VB.Net
Imports System.IO
Imports System.Reflection
 
 
Load and display HTML file in WebBrowser control in Windows Application
Inside the Form Load event handler, first an object of the Assembly class is created and it is assigned the reference of the executing assembly.
Then the contents of the HTML file are read using a StreamReader class object using the GetManifestResourceStream function of the Assembly class.
Finally the contents of the StreamReader are read using the ReadToEnd method and are assigned to the WebBrowser control.
C#
private void Form1_Load(object sender, EventArgs e)
{
    Assembly assembly = Assembly.GetExecutingAssembly();
    StreamReader reader = new StreamReader(assembly.GetManifestResourceStream("WebBrowser_HTML_File_CS.HTML.htm"));
    webBrowser1.DocumentText = reader.ReadToEnd();
}
 
VB.Net
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    Dim assmbly As Assembly = Assembly.GetExecutingAssembly()
    Dim reader As New StreamReader(assmbly.GetManifestResourceStream("WebBrowser_HTML_File_VB.HTML.htm"))
    WebBrowser1.DocumentText = reader.ReadToEnd()
End Sub
 
 
Screenshot
Load and display HTML file in WebBrowser control in Windows Application using C# and VB.Net
 
 
Downloads