winform与webform互相通讯实例_第1页
winform与webform互相通讯实例_第2页
winform与webform互相通讯实例_第3页
winform与webform互相通讯实例_第4页
winform与webform互相通讯实例_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.NET中winform 与webform互相通讯实例,CS调 用BS页面的JS函数时间:2010-05-1521:38 来源:作者:点击:71次大家都知道.NET可以开发winform与webform页面,有时候在开发项目过程中要结合 BS+C/样 来应用,那么本站做一个实例来测试 winform与webform互相通讯的实例,下面先看下效果:winform 调用bs页面的js函数效果图webform页面发送信息到winform效果图好了,看完大家都知道.NET可以开发winform与webform页面,有时候在开发项目过程中要结合 BS+C/样 来应用,那么本站做一个实例来测试 winfo

2、rm与webform互相通讯的实例,下面先看下效果:Iwinform调用bs页面的js函数效果图webform页面发送信息到winform效果图好了,看完上面的效果,下面我们看下如何实现吧。第一、打开VS2008创建winform项目,之后在MainForm拖入浏览器控件,并命令这个浏览器控件 名为:WebContainer下面是全部CS端代码:/*II * 名称:CS与BS互相通讯 |.-1* 作者:cc. A,/:”一* 官方:* /JusingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;us

3、ingSystem.Linq;usingSystem.Text;usingnamespaceTestJSWinpublicpartialclassMainForm:FormpublicMainForm()InitializeComponent();=this; /这句很关键,主要和页面的JS互相操作UriuriSale=newSystem.Uri();/浏览器控件默认打开页面WebContainer.Url=uriSale;/菜单点击事件/privatevoidjsEventToolStripMenuItem_Click(objectsender,EventArgse) I - 1WebCon

4、tainer.Navigate(javascript:fn_test();void(0););/BS调用方法/publicvoidJavascriptCall(stringstrShow)MessageBox.Show(strShow);好,做完winform ,下面是页面的做法。第2、webform的页面,源码很简单,你可以直接复制源代码到本地测试就可以了。下面是 HTML 页面源代码:CodeHTMLPUBLIC-/W3CDTDHTML4.0TransitionalEN*I I (i? I;:1, / j ;Testjsevent 嗯!到现在为此,所有操作都可以了,非常简单,如果你有兴趣来

5、按上面的代码来测试下在.net中利用webbrowser控件实现WinForm 与WebForm 交互在.net中的WebBrowser 控件可以让你装载 WindowsForm应用程序中的 Web网页和其它采用浏览器的文件。可以使用 webbrowser 控件将现有的web框架控制项加入至 WindowsForm 客户端应用程序。还是直接看代码吧。WebBrowser 控制项提供的属性、方法和事件,可用来实现 InternetExplorer的控制项/将指定位置处的文件载入至 WebBrowserwebBrowser1.GoBack();上一页:I1- :1, / /;webBrowser1

6、.GoForward();/ 下一页webBrowser1.Refresh();/ 刷新webBrowser1.GoHome();/ 主页这里提供了 WebBrowser 常用的方法,上面的代码是将我们园子的主页载入到 WebBrowser控件中。如果我们想要在应用程式中产生自 己的网页内容,可以设定 DocumentText 属性。也可以通过 Document属性来处理目前的网页 内容。如下代码是使用 DocumentText 属性,显示网页内容。并用 Document属性来处理所显 示的网页。. A,/【:一1privatevoidbtnDocumentText_Click(objects

7、ender,EventArgse)2 3 stringszHtml= 4 56DocumentText78 910 Pleaseenteryourname: 11 12 SendinputtomethodofFormclass13 14 15;17 webBrowser1.DocumentText=szHtml;181920 / I J j I21 privatevoidwebBrowser1_Navigating(objectsender,WebBrowserNavigatingEv entArgse)2223document= if(document!=null&document.AllN

8、ame!=null&String.IsNullOrEmpty(document.AllName.GetAttribute(value)26 27 e.Cancel=true;.I28 mustenteryournamebeforeyoucannavigateto+ 3031既然我们可以通过DocumentText生成自己的网页,那么能不能象使用IE那样操作这个网页呢?,答案是肯定的,完全可以像操作Web程序那样操作 WebBrowser控制项。比如我们可以加入脚本,CSS。当然,如果你熟悉HTML物件对象模型(DOM),也可以透过Document属性 来处理目前的Web网页内容。下面的例子加入

9、了 JavaScript脚本来控制网页。如果要在Winfrom 程序中写大量的Javascriot代码,而且这些代码最终要转换成 String型载入到 Webbrowser 那 将是很痛苦的事情,不过没有关系,我们可以创建一个 js文件,放入资源中,用的时候只需从资 源中载入即可。这里我创建一个名为 ClientScript.js 的文件。12functionClickEvent(name)4 alert(Hello:+name);567functionKeyDown()89 if(event.keyCode=116)10 11 event.keyCode=0;12 event.returnV

10、alue=false;13 1415 returnfalse;16stringszClientScript=stringszWebBrowserText=+ |+szClientScript+Pleaseenteryourname:+ ClickHere+;webBrowser1.DocumentText=szWebBrowserText;WebBrowser 是下的控制项,也就是意味着它是用在WimForm 程序下,那么 WebWrower 所载入的Web页面如何实现在 WinForm 程序下处理呢。例如上例中的 ClickHere。这里的 Click 事件是通过脚本处理的,如何让这个 Cl

11、ick事件在Winform 中处理呢?这里要做一些修改。若要从指令码存 取用户端应用程式,需要设定 ObjectForScripting 属性。指令码可以将您指定的物件当做 window.external 物件来存取。使用ObjectForScripting 属性,可启用 WebBrowser 控制项所装载之 Web网页与包含 WebBrowser 控制项之应用程式间的通讯。这个属性可让您整合动态超文字标记语言(DHTML)程式码与用户端应用程式程式码。指定给这个属性的物件可让 Web网页指令码做为window.external 物件,这个物件是为了存取 主应用程式而提供的内建DOM物件。、,

12、J J/1 t j8 I1 1-,I I1-/ J s* 1privatevoidbtnScriptEvent_Click(objectsender,EventArgse)2 34 /ThisisthehandlerforloadingthescriptintotheWebBrowsercontrolandallowin gustointeractI5 /betweenthescriptintheBrowsercontrolandthisformclass8 /SettheObjectForScriptingpropertyoftheWebBrowsercontroltopointtothis

13、formclass9 /Thiswillallowustointeractwithmethodsinthisformclassviathewindow.externalpropertyJ10 webBrowser1.ObjectForScripting=this;1112 stringszWebBrowserText=+13 +14 +15+16 ”+ 1718 Pleaseenteryourname:+19+20fontHere+21;; I/2223.+ i -.J24 webBrowser1.DocumentText=szWebBrowserText;, -I ,4 J I/ / I I

14、1 I I r- :1 / j ;25 26 publicvoidClickEvent(stringuserName)27 28 SimplyechooutthenamethattheusertypedintheinputboxoftheHTMLpage29 if=true)Q 八L.I30 MessageBox.Show(Hello+userName,ManagedWebBrowserSample,MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1,MessageBoxOptions.

15、RightAlign|MessageBoxOptions.RtlReading);31 else32 MessageBox.Show(Hello+userName,ManagedWebBrowserSample,MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.But ton1); 3334这里的ObjectForScripting 属性设置为this。注意:在From1类的开头加入了这么一句 ComVisible(true) , true ,指出 Managed 型别对于 COM 为可见的。ComV

16、isible(true)publicpartialclassForm1:结束语:本文简单的介绍了 WebBrowser 的用法,实现了 WinForm 程序下与 Web页面的交互使用关于在WINFORM如果向一个JSP文件提交数据,紧急求救中using System;using System.Drawing;using System.Collections;using System.ComponentModel; usingnamespace test /Form3的摘要说明。/public class Form3 privatetextBox1;privatetextBox2;private

17、button1;private AxSHDocVw.AxWebBrowser axWebBrowser1; /必需的设计器变量。/private components = null;, Apublic Form3() / Windows窗体设计器支持所必需的 /InitializeComponent();/ TODO:在 InitializeComponent调用后添加任何构造函数代码/清理所有正在使用的资源。/protected override void Dispose( bool disposing ) if( disposing ) if(components != null)comp

18、onents.Dispose();); base.Dispose( disposing #region Windows窗体设计器生成的代码/设计器支持所需的方法-不要使用代码编辑器修改/此方法的内容。/private void InitializeComponent() resources= newthis.textBox1= newthis.textBox2= newthis.button1= newthis.axWebBrowser1 = new AxSHDocVw.AxWebBrowser(); this.SuspendLayout();/ textBox1/=new8);=textBox1;=0;=textBoxl;/1/textBox21/=new8);=textBox2=*;=1;= textBox2;/button1/=new8);=button1;=2;=buttonl;+= newSystem.EventHandler(this.button1_Click);/ axWebBrowser1new 16);= 3;/= true; = new 40);= axWebBrowser1.OcxState);/ Form3/this.AutoScaleBaseSize = new 14);this.ClientSize = new 69);this.Nam

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论