知识大全 Visual C# 打造 “浏览器”

Posted

篇首语:青,取之于蓝而青于蓝;冰,水为之而寒于水。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Visual C# 打造 “浏览器”相关的知识,希望对你有一定的参考价值。

Visual C# 打造 “浏览器”  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Visual C#是微软推出的新一代程序开发语言 Visual C#实现许多功能是通过调用 Net框架为其中所有 Net程序开发语言提供的一个公用的软件包—— Net FrameWork SDK 在这个软件包中提供了大量并且十分丰富的类库 可以说 没有这个软件开发包 Visual C#就寸步难行 无法编写哪怕一个功能十分简单的程序   但这样也会出现一个问题 如果在 Net FrameWork SDK软件包中没有涉及到的功能 而在其他的第三方的组件中却提供了 那么这些组件是否可以被Visual C#使用 答案是 直接使用是不可以的 但这些组件经过一定转换后就可以 这种转换就是非受管代码(Unmanaged Code)到受管代码(Managed Code)的转换 因为这些组件一般都是非受管代码(Unmanaged Code) 而编译Visual C#文件时候要使用的类库却只能为受管代码(Managed Code) 这就是说要在Visual C#中使用那些非受管代码组件 就必须把这些非受管代码组件转换成受管代码组件   在 Net框架中专门提供了一个程序 Aximp exe 来实现由组件到WinForm组件的转换 那么这个文件在哪里?假设你安装 Net FrameWork SDK在 C 盘 那么在 C:\\Program Files\\Microsoft NET\\FrameworkSDK\\Bin 目录中就可以找到这个文件 如果你安装 Net FrameWork SDK在其他目录或者磁盘 依照上述的目录顺序就可以找到这个文件了   下面用Visual C#来做一个 浏览器 看看在Visual C#是如何使用组件的    一.本文程序设计和运行的软件环境   ( )微软公司视窗 服务器版   ( ) Net FrameWork SDK Beta    二.程序设计的思路以及关键步骤的解决方法   ( )把组件转换为WinForm组件   其实实现这种转换十分的简单 我们知道微软Web浏览器组件名称为 shdocvw dll 由于我们使用的是视窗 所以这个文件是存放在 c:\\winnt\\system 目录中 如果你使用的是视窗 或者是视窗Me 那么此组件存放的位置是 c:\\windows\\system Aximp exe 文件后面有许多的参数 你可以通过 Aximp /? 来了解 在本文中只使用下列简单的命令就可成功转换 Aximp c:\\winnt\\system \\shdocvw dll   运行上述命令后就可以实现转换 并在当前目录中产生 SHDocVw dll 和 AxSHDocVw dll 二个文件   ( )在程序中使用转换后组件   在 AxSHDocVw dll 中定义了命名空间 AxSHDocVw 在此命名空间中定义了一个 AxWebBrowser 组件 这个组件中有若干个方法和属性 Visual C#就是通过这些方法和属性来实现浏览器的一些基本功能的 使用此浏览器组件和使用其他的WinForm组件的过程是一样的 首先要导入命名空间 然后在程序中继承此命名空间中定义的浏览器组件 最后设定这个继承后的组件的属性和方法 具体如下   < I > 导入命名空间 具体代码如下 using AxSHDocVw ;   < II> 继承此命名空间中定义的浏览器组件 具体代码如下 private AxWebBrowser axWebBrowser ;   ( )通过转换后组件来实现浏览器的一些基本功能   浏览器的主要功能就是能够到指定的地址浏览信息 当然在具体的浏览中还有一些基本的功能 譬如 前进 后退 停止 刷新 主页 等 这些功能都可以通过 AxWebBrowser 组件来实现 下面就来具体介绍   < I > 浏览指定的地址   在程序中 网址是填写在组件 textbox 中的 浏览指定地址 功能是通过程序的按钮 转到 来实现的 下面是按钮 转到 按动后的程序代码 private void button _Click ( object sender System EventArgs e ) System Object nullObject = ; string str = ; System Object nullObjStr = str ; Cursor Current = Cursors WaitCursor ; axWebBrowser Navigate ( textBox Text ref nullObject ref nullObjStr ref nullObjStr ref nullObjStr ) ; Cursor Current = Cursors Default ;   < II > 浏览器的 前进 后退 停止 刷新 主页 功能   在 AxWebBrowser 组件中对这些功能都有一个具体的方法来与之对应 具体如下面代码 private void toolBar _ButtonClick ( object sender ToolBarButtonClickEventArgs e ) //浏览器中的 后退 if ( e Button == tb ) axWebBrowser GoBack ( ) ; //浏览器中的 前进 if ( e Button == tb ) axWebBrowser GoForward ( ) ; //浏览器中的 停止 if ( e Button == tb ) axWebBrowser Stop ( ) ; //浏览器中的 刷新 if ( e Button == tb ) axWebBrowser Refresh ( ) ; //浏览器中的 主页 if ( e Button == tb ) axWebBrowser GoHome ( ) ;     < III > 当然掌握了上面的知识 你就可以用Visual C#做出一个基本的浏览器了 但下面这些也是不可缺少的 因为下面这些代码将使得你做的浏览器更专业 下面代码的作用是使得浏览界面随着窗体的变化而变化 按钮和文本框也要随着窗体的变化而变化 button Anchor = ( AnchorStyles Top | AnchorStyles Right ) ; //定位 转到 按钮组件与窗体的上 右边框保持一致 textBox Anchor = ( ( AnchorStyles Top | AnchorStyles Left ) | AnchorStyles Right ) ; //定位地址文本框组件与窗体的上 左 右边框保持一致 axWebBrowser Anchor = ( ( ( AnchorStyles Top | AnchorStyles Bottom ) | AnchorStyles Left ) | AnchorStyles Right ) ; //定位浏览器组件与窗体的上 下 左 右边框保持一致   三.源程序代码(brower cs)   了解有了上面的这些 就可以比较容易编写一个属于自己的浏览器了 下面是用Visual C#做的浏览器源程序代码 他具备了IE浏览器的一些常用的功能 using System ; using System Drawing ; using System Collections ; using System ComponentModel ; using System Windows Forms ; using System Data ; using AxSHDocVw ; public class Form : Form private ToolBar toolBar ; private ToolBarButton tb ; private ToolBarButton tb ; private ToolBarButton tb ; private ToolBarButton tb ; private ToolBarButton tb ; private Label label ; private TextBox textBox ; private Button button ; private AxWebBrowser axWebBrowser ; private System ComponentModel Container ponents = null ; public Form ( ) InitializeComponent ( ) ; //清除程序中使用过的资源 protected override void Dispose ( bool disposing ) if ( disposing ) if ( ponents != null ) ponents Dispose ( ) ; base Dispose ( disposing ) ; //初始化窗体中的各个组件 private void InitializeComponent ( ) tb = new ToolBarButton ( ) ; tb = new ToolBarButton ( ) ; tb = new ToolBarButton ( ) ; toolBar = new ToolBar ( ) ; tb = new ToolBarButton ( ) ; tb = new ToolBarButton ( ) ; button = new Button ( ) ; textBox = new TextBox ( ) ; axWebBrowser = new AxWebBrowser ( ) ; label = new Label ( ) ; ( ( System ComponentModel ISupportInitialize ) ( this axWebBrowser ) ) BeginInit ( ) ; this SuspendLayout ( ) ;

tb Text = 后退 ; tb Text = 前进 ; tb Text = 停止 ; tb Text = 刷新 ; tb Text = 主页 ;

toolBar Appearance = ToolBarAppearance Flat ; toolBar BorderStyle = System Windows Forms BorderStyle FixedSingle ; //在工具栏中加入按钮 toolBar Buttons Add ( tb ) ; toolBar Buttons Add ( tb ) ; toolBar Buttons Add ( tb ) ; toolBar Buttons Add ( tb ) ; toolBar Buttons Add ( tb ) ; toolBar DropDownArrows = true ; toolBar Name = toolBar ; toolBar ShowToolTips = true ; toolBar Size = new System Drawing Size ( ) ; toolBar TabIndex = ; toolBar ButtonClick += new ToolBarButtonClickEventHandler ( toolBar _ButtonClick ) ; //定位 转到 按钮组件与窗体的上 右边框保持一致 button Anchor = ( AnchorStyles Top | AnchorStyles Right ) ; button DialogResult = DialogResult OK ; button Location = new System Drawing Point ( ) ; button Name = button ; button Size = new System Drawing Size ( ) ; button TabIndex = ; button Text = 转到 ; button Click += new System EventHandler ( button _Click ) ; //定位地址文本框组件与窗体的上 左 右边框保持一致 textBox Anchor = ( ( AnchorStyles Top | AnchorStyles Left ) | AnchorStyles Right ) ; textBox Location = new System Drawing Point ( ) ; textBox Name = textBox ; textBox Size = new System Drawing Size ( ) ; textBox TabIndex = ; textBox Text = ; //定位浏览器组件与窗体的上 下 左 右边框保持一致 axWebBrowser Anchor = ( ( ( AnchorStyles Top | AnchorStyles Bottom ) | AnchorStyles Left ) | AnchorStyles Right ) ; axWebBrowser Enabled = true ; axWebBrowser Location = new System Drawing Point ( ) ; axWebBrowser Size = new System Drawing Size ( ) ; axWebBrowser TabIndex = ;

label Location = new System Drawing Point ( ) ; label Name = label ; label Size = new System Drawing Size ( ) ; label TabIndex = ; label Text = 地址 ;

this AutoScaleBaseSize = new System Drawing Size ( ) ; this ClientSize = new System Drawing Size ( ) ;

this Controls Add ( axWebBrowser ) ; this Controls Add ( button ) ; this Controls Add ( textBox ) ; this Controls Add ( label ) ; this Controls Add ( toolBar ) ; this FormBorderStyle = FormBorderStyle FixedSingle ; this Name = Form ; this Text = visual C#做浏览器 ; ( ( System ComponentModel ISupportInitialize ) ( this axWebBrowser ) ) EndInit ( ) ; this ResumeLayout ( false ) ;

static void Main ( ) Application Run ( new Form ( ) ) ; //实现浏览器主要功能 private void toolBar _ButtonClick ( object sender ToolBarButtonClickEventArgs e ) //浏览器中的 后退 if ( e Button == tb ) axWebBrowser GoBack ( ) ; //浏览器中的 前进 if ( e Button == tb ) axWebBrowser GoForward ( ) ; //浏览器中的 停止 if ( e Button == tb ) axWebBrowser Stop ( ) ; //浏览器中的 刷新 if ( e Button == tb ) axWebBrowser Refresh ( ) ; //浏览器中的 主页 if ( e Button == tb ) axWebBrowser GoHome ( ) ;

cha138/Article/program/net/201311/15692

相关参考

知识大全 使用VS2005打造简单分页浏览器

使用VS2005打造简单分页浏览器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引言  很早就

知识大全 Visual C#接口转换

VisualC#接口转换  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#中不仅支持Net平台

知识大全 Visual C#或Visual Basic创建Web应用程序(上)

VisualC#或VisualBasic创建Web应用程序(上)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 Visual C#或Visual Basic创建Web应用程序(下)

VisualC#或VisualBasic创建Web应用程序(下)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 Visual C#访问接口

VisualC#访问接口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  对接口成员的访问  &n

知识大全 Visual C#接口慨述

VisualC#接口慨述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  接口(interface

知识大全 Visual C# 插件构架实战

VisualC#插件构架实战  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一引言    问题的

知识大全 Visual C#编程入门之语句

VisualC#编程入门之语句  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  程序的活动是通过语

知识大全 Visual C# 常用快捷键

初入门道:VisualC#常用快捷键  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 用Visual C#动态生成组件

用VisualC#动态生成组件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  通常在写程序的时候