- 浏览: 1067861 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
一、建立网页
<html>
<head> <meta http-equiv="Content-Language" content="zh-cn">
<script language="javascript" type="text/javascript">
<!-- 提供给C#程序调用的方法 -->
function messageBox(message)
{
alert(message);
}
</script>
</head>
<body>
<!-- 调用C#方法 -->
<button onclick="window.external.MyMessageBox('javascript访问C#代码')">
javascript访问C#代码</button>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<script language="javascript" type="text/javascript">
<!-- 提供给C#程序调用的方法 -->
function messageBox(message)
{
alert(message);
}
</script>
</head>
<body>
<!-- 调用C#方法 -->
<button onclick="window.external.MyMessageBox('javascript访问C#代码')">
javascript访问C#代码</button>
</body>
</html>
二、建立Windows应用程序
1.创建Windows应用程序项目
2.在Form1窗体中添加WebBrowser控件
3.在Form1类的上方添加
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
这是为了将该类设置为com可访问。如果不进行该声明将会出错。出错信息如下图所示:
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
4.初始化WebBrowser的Url与ObjectForScripting两个属性。
Url属性:WebBrowser控件显示的网页路径
ObjectForScripting属性:该对象可由显示在WebBrowser控件中的网页所包含的脚本代码访问。
将Url属性设置为需要进行操作的页的URL路径。
JavaScript通过window.external调用C#公开的方法。即由ObjectForScripting属性设置的类的实例中所包含的公共方法。具体设置例子如下:
System.IO.FileInfo file = new System.IO.FileInfo("index.htm");
// WebBrowser控件显示的网页路径
webBrowser1.Url = new Uri(file.FullName);
// 将当前类设置为可由脚本访问
webBrowser1.ObjectForScripting = this;
5.C#调用JavaScript方法
通过WebBrowser类的Document属性中的InvokeScript方法调用当前网页的Javascript方法。如:
// 调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = "C#访问JavaScript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects);
完整代码如下:
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
System.IO.FileInfo file = new System.IO.FileInfo("index.htm");
// WebBrowser控件显示的网页路径
webBrowser1.Url = new Uri(file.FullName);
// 将当前类设置为可由脚本访问
webBrowser1.ObjectForScripting = this;
}
private void button1_Click(object sender, EventArgs e)
{
// 调用JavaScript的messageBox方法,并传入参数
object[] objects = new object[1];
objects[0] = "C#访问JavaScript脚本";
webBrowser1.Document.InvokeScript("messageBox", objects);
}
// 提供给JavaScript调用的方法
public void MyMessageBox(string message)
{
MessageBox.Show(message);
}
}
******************************************
在
使用C#开发winform程序过程中,我们经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,我们需要在程序里控制网页的显示方式,或
者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面我给大家讲解下如何互相进行交互。
程序调用JS脚本如下:
JS脚本代码:
<script language=”javascript”>
function ShopXG(infor)
{
alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’);
return;
}
</script>
C#代码调用如下:
using System.Security.Permissions;
注意: 类定义前需要加上下面两行,否则调用失败!
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
调用的函数:
webBrowser1.Document.InvokeScript("ShopXG ", new string[] {‘ssss’});
JS中调用C#函数示例:
C#函数如下:
public void ShowMessage(string message)
{
MessageBox.Show(“免费开网店,携购独立网店系统诚邀您的加盟!”);
}
JS里的调用方法:
<script language=”javascript”>
function InvokeFunc()
{
window.external.ShowMessage(‘呵呵’);
}
</script>
在使用C#开发winform程序过程中,我们经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,我们需要在程序里控制网页的显示方式,
或者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面我给大家讲解下如何互相进行交互。
程序调用JS脚本如下:
JS脚本代码:
<script language=”javascript”>
function ShopXG(infor)
{
alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’);
return;
}
</script>
C#代码调用如下:
using System.Security.Permissions;
注意: 类定义前需要加上下面两行,否则调用失败!
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
调用的函数:
webBrowser1.Document.InvokeScript("ShopXG ", new string[] {‘ssss’});
JS中调用C#函数示例:
C#函数如下:
public void ShowMessage(string message)
{
MessageBox.Show(“免费开网店,携购独立网店系统诚邀您的加盟!”);
}
JS里的调用方法:
<script language=”javascript”>
function InvokeFunc()
{
window.external.ShowMessage(‘呵呵’);
}
</script>
***********************************
说明:
webBrowser1.ObjectForScripting = this;中的this是指webbrower所在的类JsScript脚本可调用的方法必须写在webbrower所在的类(窗体)using System.Security.Permissions; 注意: 类定义前需要加上下面两行,否则调用失败! [PermissionSet(SecurityAction.Demand, Name = "FullTrust")] [System.Runtime.InteropServices.ComVisibleAttribute(true)]
发表评论
-
SQLITE FOR .NET4.0使用说明以及DLL
2012-06-28 22:07 1202SQLITE FOR .NET4.0使用说明以及DLL -
WinForm中TabControl的一些事件写法(C#)
2012-06-27 20:41 9877在TabControl控件中并没提供单个选项卡的Click事件 ... -
C# 通过字符串动态创建一个窗体
2012-06-27 20:27 1744private void button1_Click(obje ... -
vs2010 打包winform成EXE文件
2012-04-20 14:03 1643见附件 -
C#中DataGridView控件60招
2012-01-13 09:36 65571. DataGridView当前的单元格属性取得、变更 2 ... -
单击dataGridView某一行时将dataGridView当前选择行的某列值赋值给某个文本框
2012-01-13 09:19 2458SelectedRows和CurrentRow之间的区别 ... -
c# winform开发-datagridview开发
2012-01-13 09:18 1727datagridview 操作详解 目录: 1、 取得或 ... -
C# 中奇妙的函数. String Split 和 Join
2011-10-25 10:51 1110很多时候处理字符串数据,比如从文件中读取或者存入 - 我们可能 ... -
asp.net中web.config配置节点大全详解
2011-10-25 10:16 1373asp.net中web.config配置节点大全详解 2 ... -
Entity Framework in ASP.NET MVC Application (三)
2011-05-10 20:31 2467In the previous tutorial you im ... -
Entity Framework in ASP.NET MVC Application (二)
2011-05-10 20:29 1697In the previous tutorial you cr ... -
Entity Frame Work 4.1调用存储过程
2011-05-10 20:24 2134在这个问题上,琢磨了很久了。今天终于找到了调用的方法。 存储 ... -
entity-framework (code-first)实例开发(一)
2011-05-09 20:40 2751The Contoso University Web Appl ... -
使用ef4.1 的dbcontext进行数据库循环操作
2011-04-24 23:06 2263如果你想要调用一个类的方法进行循环操作:官方的例子: Dis ... -
使用EF 4.1的DbContext
2011-04-24 22:36 3641简述:EF4.1包括Code First和DbContext ... -
ADO.NET 访问存储过程
2011-04-24 22:15 1590ADO.NET 访问存储过程其实也比较简单,但是有些小细节部分 ... -
JAVA与.NET的相互调用——通过Web服务实现相互调用(附原代码)
2011-04-24 20:58 1286JAVA与.NET是现今世界竞争激烈的两大开发媒体,两者语言有 ... -
视图模式/视图->视图包
2011-04-24 20:16 1472ASP.NET MVC(自V1起)就支持一个带控制器和视图的V ... -
SkipRequestValidation] –> [AllowHtml]
2011-04-24 20:15 1437ASP.NET MVC内置了防止HTML和跨站脚本注入攻击的支 ... -
Log4net 详细说明
2011-04-12 22:29 2071在实际项目中我们经常 ...
相关推荐
在IT领域,C# WinForm与HTML的交互是构建混合应用程序的一个重要方面,尤其是在桌面应用与Web技术结合的场景中。VS2015(Visual Studio 2015)提供了一个强大的开发环境,支持这样的跨平台交互。下面将详细阐述这个...
本示例“WinForm下WebView2实现JS与C#交互Demo”就展示了如何在C#中使用WebView2控件来实现JavaScript与C#之间的双向通信。 首先,确保已安装Microsoft Edge WebView2 SDK。可以通过NuGet包管理器安装`Microsoft....
为了与Winform交互,我们可以利用JavaScript和C#之间的桥接技术,如UnityWebPlayer或Unity WebGL Player。通过JavaScript接口(JSAPI)在WebGL实例中定义函数,然后在Winform应用中使用WebBrowser控件加载Unity3D...
在C# WinForm应用开发中,有时我们需要将外部的EXE程序集成到我们的窗体(Form)中,以便用户可以在一个统一的界面下操作多个应用程序。这个过程涉及到进程管理、控件创建以及交互技术。本篇文章将深入探讨如何在...
1. **C# WinForm编程**:WinForm是.NET Framework的一部分,提供了一个用于创建交互式图形用户界面的平台。在C# WinForm应用中,我们可以创建控件、处理事件、进行数据绑定等。调用WebAPI通常会在按钮点击事件或其他...
这样,WinForm应用可以控制WebBrowser控件执行JavaScript,与网页中的元素进行交互,甚至触发AJAX请求。 3. **Web API间接交互**:虽然不是直接与Web服务器交互,但可以创建一个本地的Web API服务,WinForm应用调用...
在C# WinForm应用中,有时我们需要实现网页(HTML页面)与WinForm应用程序之间的交互,特别是在使用`WebBrowser`控件展示网页时。这个过程通常涉及到JavaScript(js)调用WinForm类的方法,以实现一些特定功能或者...
在Windows Forms(Winform)应用开发中,有时候我们需要在窗体中展示网页内容,并且能够与网页中的JavaScript代码进行交互,实现数据的双向传递。这种技术通常用于在桌面应用程序中集成Web功能,例如显示动态更新的...
在C# WinForm应用中调用B/S架构中的JavaScript方法主要涉及到的是客户端与服务器端的交互问题。在传统的Web开发中,B/S架构通常由浏览器(客户端)与服务器(后端)组成,而C# WinForm是桌面应用程序,它们之间进行...
同时,CefSharp提供的JavaScript交互能力使我们能够方便地在C#和JavaScript之间传递信息,增强了桌面应用的功能性和用户体验。在实际开发中,可以根据具体需求调整CefSharp的配置和功能,以满足更复杂的应用场景。
本文将深入探讨如何在C# WinForms应用程序中与Flash进行交互,实现两者之间的数据通信和功能集成。 首先,理解WinForms和Flash交互的基本原理至关重要。Flash可以通过ActionScript提供对外部接口(External ...
在本文中,我们将深入探讨如何使用C# WinForm结合CefSharp63库来创建一个功能丰富的应用程序,该程序能够实现JavaScript交互、播放MP3和MP4媒体文件以及调用摄像头。CefSharp是一个.NET封装的Chromium Embedded ...
在C# WinForm应用程序中调用JavaScript主要涉及以下几个步骤: 1. **添加WebBrowser控件:** 在WinForm中拖拽一个WebBrowser控件到窗体上。 2. **加载HTML文档:** 可以通过`Navigate`方法或者`DocumentText`...
在C# WinForm应用开发中,我们经常需要与HTML页面进行交互,这通常是通过集成WebBrowser控件来实现的。WebBrowser控件是.NET Framework提供的一种强大工具,它允许我们在桌面应用程序中嵌入一个Web浏览器,进而实现...
描述中的"WinForm GeckoFx33 Demo JS与C#互交 窗口浏览器之间的相互调用"进一步确认了这是一个关于如何在WinForm应用中使用GeckoFX33来创建一个可与JavaScript交互的浏览器窗口的实例。这种交互性是通过特定的API...
VS2013,.net 3.5下运行,可实现: 浏览器主动调用C#函数传参给C#并获取返回值 C#主动获取浏览器数据 C#向浏览器发送数据, 浏览器js获取到数据后alert出来 编译后在xp下可正常运行。
首先,要实现WinForm与百度地图的交互,我们需要做以下准备: 1. 注册百度地图API:访问百度地图开放平台(http://lbsyun.baidu.com/),注册账号并创建应用,获取API密钥。这个密钥将在之后的代码中用于验证请求...
在C#编程中,开发Windows桌面应用程序时,我们经常需要在Winform中集成网页浏览功能。这通常通过使用`WebBrowser`控件来实现。本文将详细介绍如何在C#的Winform应用程序中打开并控制网页页面。 首先,最简单直接的...
EChartsNet是一个基于C#的项目,用于在Windows应用程序(如Winform和WPF)中集成ECharts图表库。ECharts本身是百度开发的一个开源JavaScript图表库,它提供了丰富的交互式图表,包括折线图、柱状图、饼图、散点图等...
此外,`ChromiumWebBrowser`控件支持JavaScript与C#代码之间的交互。通过实现`IJavascriptCallback`接口,你可以在JavaScript中调用C#的方法,反之亦然。这使得你可以利用JavaScript的便利性来增强应用的功能,同时...