01 using System;
02 using System.Collections.Generic;
03 using System.Text;
04 using System.Reflection;
05 using System.Windows.Forms;
06  
07 namespace HtmlWinForm
08 {
09     [System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name = "FullTrust")]
10     [System.Runtime.InteropServices.ComVisibleAttribute(true)]
11     class HtmlControlUtil
12     {
13         /// <summary>
14         /// 创建WebBrowser
15         /// </summary>
16         /// <param name="objectForScripting"></param>
17         /// <returns></returns>
18         public static WebBrowser CreateWebBrower(Object objectForScripting)
19         {
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)
27             {
28                 webBrowser.ObjectForScripting = objectForScripting;//可以提供一个Object给webBrowser控件载入的网页上的script访问
29             }
30             return webBrowser;
31         }
32  
33  
34         /// <summary>
35         /// 执行JavaScript带回调的方法
36         /// </summary>
37         /// <param name="func">方法对象</param>
38         /// <param name="args">参数</param>
39         public void RunCallBackMethod(Object func,object[] args)
40         {
41             Type type = func.GetType();
42             type.InvokeMember("", BindingFlags.InvokeMethod, null,func, args);
43         }
44  
45  
46         /// <summary>
47         /// 执行普通JavaScrtipt方法
48         /// </summary>
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)
54         {
55             return webrowser.Document.InvokeScript(scriptName, args);
56         }
57      
58  
59         /// <summary>
60         /// 普通信息框
61         /// </summary>
62         /// <param name="message">消息提示内容</param>
63         public void MessageBoxA(String message)
64         {
65            MessageBox.Show(message);
66         }
67  
68     }
69 }
01 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
02 <html>
03     <head>
04         <title></title>
05         <script type="text/javascript">
06             window.onload = function () {
07                 alert("加载完成");
08             }
09             function messagebox() {
10                 alert(window.external.MessageBoxA("测试javascript调用C#方法"));
11             }
12             function funcXX() {
13                 window.external.Run2(funcXX_callback);
14             }
15             function funcXX_callback(no,str) {
16                 alert(no);
17                 alert(str);
18             }
19         </script>
20     </head>
21     <body>
22         <!-- 调用C#方法 -->
23         <button onclick="funcXX();">JavaScript执行方法带回调</button>      
24         <br /><br /> 
25         <!-- 调用C#方法 -->
26         <button onclick="messagebox();">JavaScript调用C#Messagebox</button>
27     </body>
28 </html>

声明: 本文由(孤狼)原创编译,转载请保留链接: C# WinForm 和 javascript进行交互 使用HTML做界面

C# WinForm 和 javascript进行交互 使用HTML做界面的更多相关文章

  1. WinForm与Javascript交互

    在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互.比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图.综合调度平台的大部分功能都是 ...

  2. [转]C# winform与Javascript的相互调用

    C# winform与Javascript的相互调用 <html> <head> <meta http-equiv="Content-Language" ...

  3. C# windows程序应用与JavaScript 程序交互实现例子

    C# windows程序应用与JavaScript 程序交互实现例子 最近项目中又遇到WinForm窗体内嵌入浏览器(webBrowser)的情况,而且涉及到C#与JavaScript的相互交互问题, ...

  4. 【HANA系列】SAP HANA XS使用JavaScript数据交互详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...

  5. 【ActionScript】Flash与网页的交互,ActionScript与JavaScript的交互

    Flash是可以轻松与网页交互数据的,不然为何Flash会有这么大的生命力呢?仅仅是这样编程比較麻烦而已,又要调试Flash,然后又要放到server上调试. 只是这种方式可以收到非常好的效果.Fla ...

  6. 【HANA系列】【第一篇】SAP HANA XS使用JavaScript数据交互详解

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列][第一篇]SAP HANA XS ...

  7. NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器

    经过了这一个多星期的调整与修复,NanUI for .NET Winform的稳定版已经发布.应广大群友的要求,现已将NanUI的全部代码开源. GitHub: https://github.com/ ...

  8. 看看国外的javascript题目,你能全部做对吗?(分享)

    本文转自@Aaron的博客,拿过来分享一下.原文:看看国外的javascript题目,你能全部做对吗? 题目一: (function(){ return typeof arguments; })(); ...

  9. 第一百四十三节,JavaScript,利用封装库做百度分享

    JavaScript,利用封装库做百度分享 效果图 html代码 <div id="share"> <h2>分享到</h2> <ul> ...

随机推荐

  1. 查找最小的k个元素

    题目:输入n个整数,输出其中最小的k个. 例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4. 两种思路,无非就是时间与空间的妥协. 限制空间的时候要对原数组进行排序, ...

  2. cpu有哪些架构

    原文:http://blog.csdn.net/wyzxg/article/details/5027738 author:skatetime:2009/12/17 这几天在下载RPM包的时候,总会看见 ...

  3. @RequestParam

    @MVC另外一个特性是其提取和解析请求参数的能力.让我们继续重构上面的方法,并在其中添加@RequestParam注解: @RequestMapping("/accounts/show&qu ...

  4. JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理

    文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结   JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语 ...

  5. TCP之超时和重传

    RTT:往返时间:  RTO:Retransmission Timeout即超时重传时间: 关键点在于:超时和重传间隔的策略,即怎样确定超时间隔和重传间隔: TCP中的四个定时器:2MSL定时器:重传 ...

  6. iOS UIWebView 之 UIProgressView

    之前做等待跳转都是用UIActivityIndicatorView ,后来做webView 加载页面的时候,发现了一个特别好用又超级炫酷的加载提示NJKWebViewProgress,作者巧妙的通过计 ...

  7. 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器

    小猪猪C++笔记基础篇(四) 关键词:数组,Vector. 一.数组与指针 数组相信大家学过C语言或者其他的语言都不陌生,简单的就是同一个变量类型的一组数据.例如:int a[10],意思就是从a开始 ...

  8. 配置SecureCRT连接Linux CentOS

    链接地址:http://f.dataguru.cn/thread-144513-1-1.html 环境:Linux:centos5.8虚拟机:VirtualBox本机:windows至于怎么安装Cen ...

  9. Android保存之SharedPreferences

    Android中一共有四种存储方式: SharedPreferences 为其中的一种,具体还是看代码: package com.wyl.preferencetest; import android. ...

  10. Winsock在Windows下的编程教程(C语言)(图文并茂,超长教程)

    https://www.0xaa55.com/forum.php?mod=viewthread&tid=378&extra=page%3D2