zoukankan      html  css  js  c++  java
  • C# winform javascript 互调用

    1.准备环境

       vs2010 

    2. 项目结构

       

         index.htm 为需要显示的web页面

         其中需要操作提供的方式的C# 调用的javascript 方法 以及进行测试javascript 调用C# 方法的测试

        源码如下:   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Language" content="zh-cn" />
    <title>
    demo
    </title>
    <script language="javascript" type="text/javascript">
    function messageBox(message)
    {
    alert(message);
    }
    </script>
    </head>
    <body>
    <!-- 调用C#方法 -->
    <button onclick="window.external.ShowMessage('javascript访问C#代码')">
    javascript访问C#代码</button>
    <div style=" background-color:Black; height: 105px;">
    </div>
    </body>
    </html>

          winform 提供的javascript 调用方法

    public void ShowMessage(string message)
    {
    MessageBox.Show(message);

        窗体加载显示的web页面(比较简单)

    private void Form1_Load(object sender, EventArgs e)
    {
    System.IO.FileInfo file = new System.IO.FileInfo("index.htm");
    // WebBrowser控件显示的网页路径
    webBrowser1.Url = new Uri(file.FullName);
    // 将当前类设置为可由脚本访问
    webBrowser1.ObjectForScripting = this;

    }

     开始界面如下:

     

    调用web 的javascript 测试:

    进行C#方法调用(提示一下错误)

    原因是c# 是托管代码与window.external 调用需要使用的com 对象不一致,

    如何改进(很简单)进行配置即可,如下:

    再次运行:

    界面如下:

    例子比较简单。

    其中最重要的是

    window.external 

    具体的使用请自己搜索(可以给网站添加搜索,添加收藏加,调用其他的外部方法。。。。。)

    3. 可以应用的场景

       大家经常使用的播放器(比如千千静听某版本)我们点击搜索是web页面,然后点击播放直接添加winform 页面 等等。。。。。

     有兴趣可以访问这个网址查看js 文件进行学习:

    http://qianqianmini.baidu.com/app/search/searchList.php?qword=%E5%BC%AF%E5%BC%AF%E7%9A%84%E6%9C%88%E4%BA%AE###

  • 相关阅读:
    YOLO2 (2) 测试自己的数据
    Ubuntu 14.04服务器配置 (1) 安装和配置
    window10+linux双系统安装
    机械纪元 尼奥
    如何标数据
    usb-cam (3)摄像机标定文件-ORB-SLAM标定文件
    ORB-SLAM2(3) ROS下实时跑ORB_SLAM2
    usb-cam(1)安装
    usb-cam (2)摄像机标定
    Linux下的压缩zip,解压缩unzip命令详解及实例
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/4028066.html
Copyright © 2011-2022 走看看