Click here to Skip to main content
15,881,852 members
Articles / Desktop Programming / ATL
Article

Your own custom browser !!

Rate me:
Please Sign up or sign in to vote.
1.00/5 (25 votes)
8 Sep 20053 min read 53.6K   716   14   10
. This article explains how to add and web browser ActiveX to your project to developer your own customized web browser.

Sample Image - browser.jpg

Your own custom browser !!

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

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit">

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. <o:p>

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 <o:p>

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. <o:p>

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click <o:p>

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.<o:p>

The Application<o:p>

The GUI of the program looks like the following image. Go button navigates the URL and other buttons are pretty self-explanatory.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
France France
.Net programmer ......./ Dum ass Wink | ;)

Comments and Discussions

 
Generaltab control in this customized browser Pin
contact2sam12326-Jun-06 5:43
contact2sam12326-Jun-06 5:43 
GeneralCode link fixed and crash issue resolved Pin
Anand Manikiam11-Sep-05 21:14
Anand Manikiam11-Sep-05 21:14 
GeneralLittle crashing issue Pin
Steve Messer9-Sep-05 7:33
Steve Messer9-Sep-05 7:33 
GeneralRe: Little crashing issue Pin
Anand Manikiam11-Sep-05 19:53
Anand Manikiam11-Sep-05 19:53 
GeneralRe: Little crashing issue Pin
Anand Manikiam11-Sep-05 21:00
Anand Manikiam11-Sep-05 21:00 
GeneralHide &amp; Go Seek Pin
fwsouthern9-Sep-05 0:39
fwsouthern9-Sep-05 0:39 
GeneralRe: Hide &amp; Go Seek Pin
Kastellanos Nikos9-Sep-05 6:14
Kastellanos Nikos9-Sep-05 6:14 
GeneralThanks for part of the code ..... Pin
fwsouthern9-Sep-05 7:17
fwsouthern9-Sep-05 7:17 
GeneralRe: Thanks for part of the code ..... Pin
Kastellanos Nikos10-Sep-05 3:53
Kastellanos Nikos10-Sep-05 3:53 
GeneralRe: Hide &amp; Go Seek Pin
Anand Manikiam11-Sep-05 19:55
Anand Manikiam11-Sep-05 19:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.