预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

用AxWebBrowser的准备 "工具箱"->"添加/删除项"->"COM组件"->"MicrosoftWeb浏览器"->对勾->确定IE样的东西就上到工具箱上了,拖过来即可使用 我们知道,C#创建基于Web页(Html)的AspC#应用程序,它使用MicrosoftInternetExplorer(IE)实现页面的导航与浏览,对程序的导航控制通过IE自身提供的功能来实现,这个时候,导航控制实际上与程序代码是相对独立的,这表现在你不需要为此编制相应的代码也很难添加IE之外的其他控制。 其实,不仅仅是C#应用程序能操作Web页,C#创建的基于桌面的WindowsApplication(窗体应用程序)也能操作Web页。不同的是,这种开发仅有C#基类支持是不够的,你还需要借助一种特殊的COM-ActiveX控件。 基于桌面的Windows(窗体)应用程序 显然,即便在基于桌面的Windows应用程序下,也有很多地方跟Web文件打交道。本地的Html文件,网络传输中的Html文件,等等。这些包含丰富图文信息的Web文件,有时候需要作为应用程序的一部分进行操作。虽然,C#丰富的基类对文件(当然也包括.Html格式的Web文件)的读写提供了大量的支持,对文件内容的显示也提供了丰富的控件(如Windows标准控件ListBox、Label等),然而,这种通常意义下的输出只能将文件显示为纯文本字符或二进制数据,还无法直接在Windows应用程序中原样显示Html界面样式而保持Web文件"图文并茂、导航自如"的优点。 即便这样,C#名字空间Diagnostics还是提供了类Process以支持在应用程序中操作Web文件、实现InternetExplorer界面样式,以部分满足我们的需求。 1、使用Process类 下面的讲解将借助实例来进行,并逐步扩充程序代码。为测试效果,请在VisualStudioC#IDE中构建VisualC#窗体应用程序WebPageInWindowsApplicaion。在窗体上添加按钮"buttonStart",添加文本框"textBoxUrl",导入名字空间System.Diagnostics(usingSystem.Diagnostics;),在按钮"buttonStart"的Click事件中添加以下代码:privatevoidStart_Click(objectsender,System.EventArgse){Processp=newProcess();//实例化进程对象stringurl=textBoxUrl.Text.Trim();//获取输入的Url//StartInfo用于设置启动进程所需参数p.StartInfo.FileName="iexplore.exe";//设置要启动的应用程序或文档p.StartInfo.Arguments=url;//设置启动所需命令行参数p.Start();//将进程与Process组件关联并启动} 代码很简单,每行后的注释足够可以解释清楚了。需要注意的是,在使用Process.Start()方法启动该进程前至少必须设置FileName文件名属性,以指定提供支持的目标应用程序或文档。试着在文本框中输入"HYPERLINK"http://developer.ccidnet.com/pub/disp/Column?columnID=287"http://developer.ccidnet.com/pub/disp/Column?columnID=287"(当然,你也可以在程序中硬编码文本框内容,无论怎样,你需要确保该URL的有效性),单击Start按钮,IE浏览器将打开,Web页面被正确显示。 不过,你很容易就能看到,打开的IE浏览器并不包含在应用程序(主)窗体中,而是重新载入了IE浏览器,就象你通常在IE地址栏里输入URL浏览页面一样;的确,在这里,IE浏览器被作为一个新的、单独的窗口打开,这以后就不再与应用程序关联,或者说,不再受应用程序的控制了。一般地,这不是我们所需要的。 要真正让Web页与应用程序融为一体,一种可行的解决方法是使用ActiveXControl-WebBrowser控件。 2、ActiveX技术 很明显,即便C#富含大量类库,但仍然不能完成所有的任务,或者说,不能很轻松地完成所有任务。很长一段时间里,由WindowsAPI、COM(COM+)、ActiveXControl提供的许多功能在C#中将得到支持,使用它们在一定程度上为编程提供简化。 其中,ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,组件对象模型)使软件部件在特定环境中进行交互的技术集。它与具体的编程语言无关。作为针对Intern