Blue Theme Orange Theme Green Theme Red Theme
 
Team Foundation Server Hosting
Home | Forums | Videos | Advertise | Certifications | Downloads | Blogs | Interviews | Jobs | Beginners | Training
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Nevron Chart
Search :       Advanced Search »
Home » Internet & Web » Web Browser in C# and VB.NET

Web Browser in C# and VB.NET

This article explains how to add and web browser ActiveX to your project to developer your own customized web browser.

Author Rank :
Page Views : 245774
Downloads : 0
Rating :
 Rate it
Level : Beginner
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
6 Months Free & No Setup Fees ASP.NET Hosting!
Become a Sponsor
Mindcracker MVP Summit 2012
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

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.


Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
Mahesh Chand
Mahesh is the founder of C# Corner and Mindcracker Network, an author of several .NET programming books and a Microsoft MVP for 6 consecutive years. In his day to day work, Mahesh is a Senior Software Consultant with over 14 years of IT industry experience building systems for Financial and Banking, Engineering & Architectural, Imaging, Construction, Biological & Pharmaceuticals, Healthcare and Education industries. His expertise is Windows Forms, ASP.NET, Silverlight, WPF, WCF, Visual Studio 2010, SQL Server, and Oracle.  If you are looking for a Sharepoint, Windows Forms, ASP.NET, WPF, Silverlight, C#, VB.NET, Oracle, and SQL Server Consultant in Philadelphia area or remote location, drop me a line at MAHESH [AT] C-SHARPCORNER [DOT] COM.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Discover the top 5 tips for understanding .NET
Ricky Leeks presents the top 5 tips for understanding .NET Interoperability. Learn more.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
Discover the top 5 tips for understanding .NET Interop
Become a Sponsor
 Comments
Mimic Perl Language browser object?? by j On June 18, 2007
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
Reply | Email | Modify 
Automating data entry operation in vb .net by Paresh On February 10, 2008
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
Reply | Email | Modify 
Re: Automating data entry operation in vb .net by Mahesh On April 7, 2009
I do not know the answer. You may want to post it on C# Corner forums. Hopefully somebody knows the answer.
Reply | Email | Modify 
Re: Automating data entry operation in vb .net by Arnaud On March 9, 2010
Hi did you ever have an answer to yoru question? Tx Arnaud
Reply | Email | Modify 
hi gavaskarps from chennai,India by gava On March 13, 2008
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
Reply | Email | Modify 
hi gavaskarps from chennai,India by gava On March 13, 2008
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
Reply | Email | Modify 
Re: hi gavaskarps from chennai,India by Mahesh On April 7, 2009
I do not know the answer. You may want to post it on C# Corner forums. Hopefully somebody knows the answer.
Reply | Email | Modify 
Equivalent of WebBrowser non acive X by saeed On November 18, 2009

Do you know of any  NOn-Active X Version of this contro that woudl do teh same job in c#?

Cheersl

Reply | Email | Modify 
Need Help in drawing images from HTML tags by Ahsan On March 1, 2010
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.
Reply | Email | Modify 
Progress Bar by ahmed On March 22, 2010

Thanks Mr.
but i want To put Progress Bar
i am try but i can't please help me.

Reply | Email | Modify 
yyy by sohini On May 15, 2010
ddffgffhhgf
Reply | Email | Modify 
Arabic Content in Webbrowser control by muthu On June 19, 2010
Hi
I have webbrwoser control and trying to load html file with arabic content but it fails.
Can you help me in this regards

Reply | Email | Modify 
need help about speech web browser by Rami On August 27, 2010
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.
Reply | Email | Modify 
How to access the HTML displayed on the screen by dgk On June 6, 2011
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?
Reply | Email | Modify 
Make a centralised database by irfan On July 23, 2011
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 irfan_ahmad220187@yahoo.in
Reply | Email | Modify 
Centralized Database by Mahesh On September 8, 2011
You need to build a client server architecture. Your application will not change. You need to have a server and all four computers must be on the same Intranet. All computers must have access to the server where database is stored. In your application, instead of local database connection string, you are going to provide connection string for the server database.
Reply | Email | Modify 
voice enable browser by aneel On July 23, 2011
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
Reply | Email | Modify 
Re: voice enable browser by Mahesh On September 8, 2011
Google VoiceXML. You will need to use VoiceXML for that.
Reply | Email | Modify 
6 Months Free & No Setup Fees ASP.NET Hosting!
 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.