65.9K
CodeProject 正在变化。 阅读更多。
Home

您自己的自定义浏览器!!

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (21投票s)

2005年9月9日

3分钟阅读

viewsIcon

54872

downloadIcon

717

本文介绍了如何在项目中添加 Web 浏览器 ActiveX 控件,从而开发自己的定制 Web 浏览器。

Sample Image - browser.jpg

您自己的自定义浏览器!!

在论坛上有很多关于创建 Web 浏览器或在 C# 或 VB.NET 中使用现有 Web 浏览器 ActiveX 控件的问题。本文介绍了如何在项目中添加 Web 浏览器 ActiveX 控件,从而开发自己的定制 Web 浏览器。

我不知道为什么 Microsoft 没有添加一个类来提供浏览器功能。如果他们做了,我也不知道。无论如何......在本文中,我们将使用现有的 Web 浏览器控件。

添加 Web 浏览器 ActiveX 控件

创建一个 Windows 应用程序,右键单击工具箱窗口,然后选择“自定义工具箱”。在 COM 组件中,您将看到“Microsoft Web Browser”组件,dll 是“Schdocvw.dll”。

单击“确定”按钮会将“Explorer”控件添加到您的工具箱。请参见下面的工具箱。

现在,您将此“Explorer”控件拖到您的窗体上。控件的默认名称为“axWebBrowser1”。

设计 GUI

现在,我在上面添加了一些按钮的工具栏。您可以查看我的工具栏教程,了解如何添加工具栏按钮、加载图像以及为工具栏按钮编写事件处理程序。

除了工具栏,我还添加了一个 URL 文本框和一个按钮,并组织我的窗体,使其看起来像下图。

 

主页、上一页、下一页、停止和刷新工具栏按钮是不言自明的,并提供与浏览器相同的功能。“转到”按钮在浏览器控件中加载指定的 URL。

编写代码

现在,我编写“转到按钮”单击和工具栏按钮上的代码。稍后,您将看到如何通过编写几行代码来定制自己的浏览器。浏览器控件的 Navigate 方法在查看器中查看页面。其他方法非常简单,并且是不言自明的,例如 GoHome、Stop、Refresh、GoBack 和 GoForward。

源代码: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;
}

这是工具栏按钮单击的代码。

私有的 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();
}
}

源代码:VB.NET

VB.NET 代码只不过是 C# 代码的转换。这是使用 Web 浏览器的 Navigate 方法导航 URL 的代码。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

DimnullObject 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

您可以像在 C# 代码中一样调用 Stop、GoHome、Refresh、GoForward 和其他方法。

应用程序

该程序的 GUI 如下所示。 “转到”按钮导航 URL,其他按钮是不言自明的。

© . All rights reserved.