There are many questions on discussion forums about creating a web browser or using existing web browser ActiveX control in C# or VB.NET. This article explains how to add and web browser ActiveX to your project to developer your own customized web browser.
I wonder why Microsoft didn't add a class to provide browser functionality. If they did, then I'm not aware of it. Any way .. In this article we'll use existing Web Browser control.
Adding Web Browser ActiveX
Create a Windows application and right, right click on toolbox window, and select "Customize Toolbox". In COM components, you'll see "Microsoft Web Browser" component an dll is "Schdocvw.dll". 
Clicking OK button adds "Explorer" control to your toolbox. See toolbox below.
Now you drag this "Explorer" control to your form. The default name of the control is "axWebBrowser1".
Designing GUI
Now I add a toolbar with few buttons on it. You can see my toolbars tutorial to see how to add toolbar buttons, load images and write event handlers for toolbar buttons.
Besides toolbar, I also add a URL text box, a button and organize my form so it would look like the below fig.
Home, Previous, Next, Stop, and Refresh toolbar buttons are self-explanatory and provides same functionality as a browser does. Go button loads the specified URL in the browser control.
Writing Code
Now I write the code on "Go button" click and toolbar buttons. In a moment, you'll see how you can customize your own browser writing few lines of code. The Navigate method of browser control views a page in the viewer. Other methods are pretty simple and self explanatory such as GoHome, Stop, Refresh, GoBack and GoForward.
Source Code: C#
private void button1_Click_1(object sender, System.EventArgs e)
{
System.Object nullObject = 0;
string str = "";
System.Object nullObjStr = str;
Cursor.Current = Cursors.WaitCursor;
axWebBrowser1.Navigate(textBox1.Text, ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr);
Cursor.Current = Cursors.Default;
}
Here is code for toolbar button click.
private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
{
if ( e.Button == tb1 )
{
axWebBrowser1.GoHome();
}
if ( e.Button == tb2 )
{
axWebBrowser1.Refresh();
}
if ( e.Button == tb3 )
{
axWebBrowser1.GoBack();
}
if ( e.Button == tb4 )
{
axWebBrowser1.GoForward();
}
if ( e.Button == tb5 )
{
axWebBrowser1.Stop();
}
}
Source Code: VB.NET
VB.NET code is nothing else but a conversion of C# code. Here is the code navigates the URL using Web Browser's Navigate method.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nullObject As System.Object = 0
Dim str As String = ""
Dim nullObjStr As System.Object = str
Cursor.Current = Cursors.WaitCursor
AxWebBrowser1.Navigate("http://www.microsoft.com", nullObject, nullObjStr, nullObjStr, nullObjStr)
Cursor.Current = Cursors.Default
End Sub
You can call Stop, GoHome, Refresh, GoForward and other methods in the same way we did in C# code.
The Application
The GUI of the program looks like the following image. Go button navigates the URL and other buttons are pretty self-explanatory.
Join the conversation! Your thoughts help the community grow.
Sign in to leave a comment
It is the same account you read, post and publish with — and you will come straight back to this page.

Prashant JhaPosted Apr 19, 2014, 4:29 AM
want codes for developing web browser in asp.net. my id is:[email protected]
aneel kumarPosted Jul 23, 2011, 12:09 PM
hey frnd..can u tell me how to make a browser which accepts the voice commands..mean u give the command and browser fullfil it.in that way u dont need to use keyboard if u want to open any site just give the voice coomand to the browser browser wil open it self.. so if u know then plz send me the source code as soon as possible
irfan ahmadPosted Jul 23, 2011, 1:33 AM
have developed the desktop (windows form) application using C# , with MS SQL 2005 database. That is separate application run in four different centers with their own separate database, but now i want to make it centralized database. For all four center has only one data base. they enter data in one data base and access the data from one place as with central data base. My problem is that I am stukked now as i dont have any idea to wht to do either to develop a new application for this purpose that can have centralize data base (asp,web pages,on network) have I written any application that will run on a network. to make some changes in existing application so that it work on centralized database(some little changes in app.confif) to make a new database to modify the existing database Please I need your help on how to achieve this. Any contribution would be highly appreciated. With Regards irfan ahmad [email protected]
dgkPosted Jun 6, 2011, 3:17 PM
I am using the browser control in my application and that works fine. However, I cannot find any documentation on how to access the underlying HTML that is displayed in the control. Is there any example or documentation available?
Rami RPosted Aug 27, 2010, 2:21 AM
I found your article very helpful. My final year project is Speech web Browser in vb.net. I want to add these functionalities in my project. Can you please help me about my project? I have done text-to-speech conversion and speech recognition.
muthu hamidPosted Jun 19, 2010, 3:15 AM
Hi I have webbrwoser control and trying to load html file with arabic content but it fails. Can you help me in this regards
sohini deyPosted May 15, 2010, 2:57 AM
ddffgffhhgf
ahmed aliPosted Mar 22, 2010, 6:12 AM
Thanks Mr. but i want To put Progress Bar i am try but i can't please help me.
Ahsan ArifPosted Mar 1, 2010, 5:45 AM
Hello Mahesh, Nice article man. I need a help in creating images from html tags. I want to create image from HTML string like "<b>Mahesh Chand</b>" so that the image contains only the text with the styling provided in the text as here I want to print Mahesh Chand in bold. Can you have any code snippet like this? If yes then gimme a link or copy of it. Thanx Ahsan Arif.
saeed raimiPosted Nov 18, 2009, 10:17 PM
Do you know of any NOn-Active X Version of this contro that woudl do teh same job in c#? Cheersl
gava psPosted Mar 13, 2008, 7:45 AM
i have created a browser in c# windows application . i need to give an option for enabling or disabling javascript in my browser. How to do this . Thanks in Advance
gava psPosted Mar 13, 2008, 7:45 AM
i have created a browser in c# windows application . i need to give an option for enabling or disabling javascript in my browser. How to do this . Thanks in Advance
Paresh chaudhariPosted Feb 10, 2008, 1:23 PM
Hi, I am working on QTP and actually I want to implement Browser() class in a way used in QTP to perform the operations on Web Page. Is there any Class, or method or com present so that I can perform the same operations on web. For example.. on a Web Page there are two WebEdit field present.. one is user and another is password. I want to write a function in vb. net which will fill value in that text. in short i want to automate it. Please suggest me any solution. Thanks! Paresh
j dPosted Jun 18, 2007, 7:33 AM
Hi, I am after a result which will mimick the following perl code in .NET (using a browser object) ########################## use lwp::useragent; my $ua = new lwp::useragent; my $response = $ua->post('https://www.example.com/Login.htm', { param1 => 'value1', param2 => 'value2', }); my $content = $response->content; ########################### essentially what the above code does is posts a form to the web server with specified values (which can represent a text box value for eg) ,, eg in the above case param1 could be userName and value1 could be the uName value, like wise param2 could be password and value2 could be the password value.. (ie to simulate a login on a server).. This can be done in perl, however I require to do this in .NET (with also the support for the https protocol) . In perl this was an openssl connection .. Any ideas on how this can be done using the above browser code as a first step?? (You can also see in the perl code that you can get the content of the response page ,, i.e. what is returned (eg this could be a "not authenticated" msg or the next screen after passing validation) .. Cheers.. :) JD