ARTICLE

Web Browser in C# and VB.NET

Posted by Mahesh Chand Articles | Visual Basic 2010 August 02, 2003
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.
Download Files:
 
Reader Level:

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 a 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.




share this article :
post comment
 

I have developed a web application in which I am executing batch file from client side. If I want to run that I have to enable Initialize and script ActiveX controls not marked as safe for scripting in IE other wise it will give permission denied error. After running this application I have to disable the Initialize and script ActiveX controls not marked as safe for scripting in IE. Or I need to create ActiveX Control after which I have to add the dll of that ActiveX Control to the application. Then I need to call the method in ActiveX Control in my project. How to go ahead in this one? Can u help me please?

Posted by Jayanth Nadig Oct 11, 2007
Team Foundation Server Hosting
Become a Sponsor
PREMIUM SPONSORS
  • 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. Visit DynamicPDF here
    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.
Team Foundation Server Hosting
Become a Sponsor