
02 |
using System.Collections.Generic; |
04 |
using System.Reflection; |
05 |
using System.Windows.Forms; |
09 |
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")] |
10 |
[System.Runtime.InteropServices.ComVisibleAttribute(true)] |
16 |
/// <param name="objectForScripting"></param> |
17 |
/// <returns></returns> |
18 |
public static WebBrowser CreateWebBrower(Object objectForScripting) |
20 |
WebBrowser webBrowser = new WebBrowser(); |
21 |
webBrowser.ScriptErrorsSuppressed = true; //禁用错误脚本提示 |
22 |
webBrowser.IsWebBrowserContextMenuEnabled = false; //禁用右键菜单 |
23 |
webBrowser.AllowWebBrowserDrop = false;//禁止拖拽 |
24 |
webBrowser.ScrollBarsEnabled = false;//禁止滚动条 |
25 |
webBrowser.WebBrowserShortcutsEnabled = false; //禁用快捷键 |
26 |
if (objectForScripting != null) |
28 |
webBrowser.ObjectForScripting = objectForScripting;//可以提供一个Object给webBrowser控件载入的网页上的script访问 |
35 |
/// 执行JavaScript带回调的方法 |
37 |
/// <param name="func">方法对象</param> |
38 |
/// <param name="args">参数</param> |
39 |
public void RunCallBackMethod(Object func,object[] args) |
41 |
Type type = func.GetType(); |
42 |
type.InvokeMember("", BindingFlags.InvokeMethod, null,func, args); |
49 |
/// <param name="webrowser">webrowser</param> |
50 |
/// <param name="scriptName">方法名</param> |
51 |
/// <param name="args">参数</param> |
52 |
/// <returns>返回结果</returns> |
53 |
public object RunMethod(WebBrowser webrowser, String scriptName, object[] args) |
55 |
return webrowser.Document.InvokeScript(scriptName, args); |
62 |
/// <param name="message">消息提示内容</param> |
63 |
public void MessageBoxA(String message) |
65 |
MessageBox.Show(message); |
01 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
05 |
<script type="text/javascript"> |
06 |
window.onload = function () { |
09 |
function messagebox() { |
10 |
alert(window.external.MessageBoxA("测试javascript调用C#方法")); |
13 |
window.external.Run2(funcXX_callback); |
15 |
function funcXX_callback(no,str) { |
23 |
<button onclick="funcXX();">JavaScript执行方法带回调</button> |
26 |
<button onclick="messagebox();">JavaScript调用C#Messagebox</button> |
- WinForm与Javascript交互
在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互.比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图.综合调度平台的大部分功能都是 ...
- [转]C# winform与Javascript的相互调用
C# winform与Javascript的相互调用 <html> <head> <meta http-equiv="Content-Language" ...
- C# windows程序应用与JavaScript 程序交互实现例子
C# windows程序应用与JavaScript 程序交互实现例子 最近项目中又遇到WinForm窗体内嵌入浏览器(webBrowser)的情况,而且涉及到C#与JavaScript的相互交互问题, ...
- 【HANA系列】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- 【ActionScript】Flash与网页的交互,ActionScript与JavaScript的交互
Flash是可以轻松与网页交互数据的,不然为何Flash会有这么大的生命力呢?仅仅是这样编程比較麻烦而已,又要调试Flash,然后又要放到server上调试. 只是这种方式可以收到非常好的效果.Fla ...
- 【HANA系列】【第一篇】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第一篇]SAP HANA XS ...
- NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器
经过了这一个多星期的调整与修复,NanUI for .NET Winform的稳定版已经发布.应广大群友的要求,现已将NanUI的全部代码开源. GitHub: https://github.com/ ...
- 看看国外的javascript题目,你能全部做对吗?(分享)
本文转自@Aaron的博客,拿过来分享一下.原文:看看国外的javascript题目,你能全部做对吗? 题目一: (function(){ return typeof arguments; })(); ...
- 第一百四十三节,JavaScript,利用封装库做百度分享
JavaScript,利用封装库做百度分享 效果图 html代码 <div id="share"> <h2>分享到</h2> <ul> ...
随机推荐
- MongoDB入门(1)--安装配置
第一步:下载安装 首先当然是找到官方网站http://www.mongodb.org/ 进入下载页面 可以看到,当前最新版本是2.4.5,我的电脑是64位的win7,所以要下载第一个(说明一下,第二个 ...
- Kettle之数据抽取、转换、装载
Kettle 官网 ETL利器Kettle实战应用解析系列 利用kettle组件导入excel文件到数据库 kettle中实现动态SQL查询 java中调用kettle转换文件
- perl学习(3) 列表
列表或称为数组,和c语言中的数据类似,只是perl自己特殊的一些写法. 1.1.定义 一个列表或者数组可以包含数字,字符串,undef 值,或者任意不同类型的标量值的组合,但是这些元素的类型通常是 ...
- Linux上MongoDB的安装与配置
长话短说,一共有两种方法.(我随便选了一个发行版Mint) 一.apt-get方法 官网上说的很清楚: http://docs.mongodb.org/manual/tutorial/install- ...
- cocos2dx进阶学习之CCScene
继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); ...
- BZOJ 1610: [Usaco2008 Feb]Line连线游戏
1610: [Usaco2008 Feb]Line连线游戏 Description Farmer John最近发明了一个游戏,来考验自命不凡的贝茜.游戏开始的时 候,FJ会给贝茜一块画着N (2 &l ...
- 飘逸的python - 简单探索time模块
time模块中方法众多,不过在了解本质和联系之后,就会发现其实很简单. 在python中可以用3种方式来表达时间.看似很乱,其实就只是这3种变来变去来回转换而已. 1.时间戳 2.时间tuple,由9 ...
- Eddy's爱好(dfs+容斥)
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- 警惕 MySql 更新 sql 的 WHERE 从句中的 IN() 子查询时出现的陷阱
mer_stage 表有 216423 条记录,DDL: CREATE TABLE `mer_stage` ( `STAGE_ID` int(11) NOT NULL AUTO_INCREMENT, ...
- 版本管理神器git上手
由于以前折腾过svn,虽然最终没有用成功,但是也算有经验,git入门还是比较简单的. 在新目录下建立初始化版本库 : git init git add file git add file2 git ...