2024年2月21日发(作者:)

.NET中winform与webform互相通讯实例,CS调用BS页面的JS函数

时间:2010-05-15 21:38 来源: 作者: 点击:71次

大家都知道.NET可以开发winform与webform页面,有时候在开 发项目过程中要结合BS+CS这样来应用,那么本站做一个实例来测试winform与webform互相通讯的实例,下面先看下效果: winform调用bs页面的js函数效果图 webform页面发送信息到winform效果图 好了,看完

大家都知道.NET可以开发winform与webform页面,有时候在开发项目过程中要结合BS+CS这样来应用,那么本站做一个实例来测试winform与webform互相通讯的实例,下面先看下效果:

winform调用bs页面的js函数效果图

webform页面发送信息到winform效果图

好了,看完上面的效果,下面我们看下如何实现吧。

第一、打开VS2008创建winform项目,之后在MainForm拖入浏览器控件,并命令这个浏览器控件名为:WebContainer

下面是全部CS端代码:

/*

*

* 名称:CS与BS互相通讯

* 作者:cc

* 官方: /chjun2000/

*/

using System;

using c;

using entModel;

using ;

using g;

using ;

using ;

using ;

namespace TestJSWin

{

[ibleAttribute(true)]

public partial class MainForm : Form

{

public MainForm()

{

InitializeComponent();

ForScripting = this; //这句很关键,主要和页面的JS互相操作

Uri uriSale = new

("localhost:8012/"); //浏览器控件默认打开页面

= uriSale;

}

///

/// 菜单点击事件

///

///

///

private void jsEventToolStripMenuItem_Click(object sender,

EventArgs e)

{

te("javascript:fn_test();void(0);");

}

///

/// BS调用方法

///

///

public void JavascriptCall(string strShow)

{

(strShow);

}

}

}

好,做完winform,下面是localhost:8012/页面的做法。

第2、webform的页面,源码很简单,你可以直接复制源代码到本地测试就可以了。下面是HTML页面源代码:

Code []

Test js event

NET中winform与webform互相通讯实例-(学IT网欢迎你访问)

onclick="fn_call()" />

嗯!到现在为此,所有操作都可以了,非常简单,如果你有兴趣来按上面的代码来测试下

在.net中利用webbrowser控件实现WinForm与WebForm交互

在.net中的WebBrowser 控件可以让你装载Windows Form 应用程序中的Web 网页和其它采用浏览器的文件。可以使用webbrowser 控件将现有的web框架控制项加入至 Windows Form 客户端应用程序。

还是直接看代码吧。

WebBrowser 控制项 提供的属性、方法和事件,可用来实现 Internet

Explorer 的控制项

te(""); //将指定位置处的文件载入至 WebBrowser

();//上一页

ard();//下一页

h();//刷新

();//主页

这里提供了WebBrowser常用的方法,

上面的代码是将 我们园子的主页载入到 WebBrowser控件中。如果我们想要在应用程式中产生自己的网页内容,可以设定DocumentText属性。也可以通过Document属性来处 理目前的网页内容。如下代码是使用 DocumentText

属性,显示网页内容。并用Document属性来处理所显示的网页。

1private void btnDocumentText_Click(object sender, EventArgs e)

2 {

3 string szHtml = @"

4

5

6 DocumentText

7

8

9

10 Please enter your name:

11

12 Send input to method of

Form class

13

14

15";

17 ntText = szHtml;18

19 }

20

21 private void webBrowser1_Navigating(object sender,

WebBrowserNavigatingEventArgs e)

22 {

23 cument document

= nt;

24

25 if (document != null && ["Name"] != null &&

OrEmpty(["Name"].GetAttribute("value")))

26 {

27 = true;

28 ("You must

enter your name before you can navigate to " + ng());

29 }

30

31 }

既 然我们可以通过DocumentText生成自己的网页,那么能不能象使用IE那样操作这个网页呢?,答案是肯定的,完全可以像操作Web程序那样操作

WebBrowser 控制项。比如我们可以加入脚本,CSS。当然,如果你熟悉 HTML

物件对象模型 (DOM),也可以透过 Document 属性来处理目前的Web网页内容。下面的例子加入了JavaScript脚本来控制网页。如果要在Winfrom程序中写大量的Javascriot代 码,而且这些代码最终要转换成String型载入到Webbrowser 那将是很痛苦的事情,不过没有关系,我们可以创建一个js文件,放入资源中,用的时候只需从资源中载入即可。这里我创建一个名为

的文件。

1