winform与php交互,WinForm与Javascript交互「建议收藏」

winform与php交互,WinForm与Javascript交互「建议收藏」在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互。比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图。综合调度平台的大部分功能都是使用WinForm实现的;但是定位和地图部分都不是自己开发的需要使用第三方接口,实现地图的展示,而第三方的接口使用的是Javascript实现的。这种情况有一下两种方法解决:1,浏览器显示地图,Win…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

在应用程序的集成过程中,有时候需要WinForm应用程序和Javascript程序进行交互。比如说:应用程序是一个综合调度系统,在整个综合调度系统中,要实现定位,显示地图。综合调度平台的大部分功能都是使用WinForm实现的;但是定位和地图部分都不是自己开发的需要使用第三方接口,实现地图的展示,而第三方的接口使用的是Javascript实现的。这种情况有一下两种方法解决:

1,浏览器显示地图,WinForm实现综合调度台的其他功能,使用socket通信方式或者其他方式实现web浏览器和综合调度台之间的一种交互。

2,使用WinForm的JS之间的直接交互。

以上两种方法:第一种方法明显的缺点就是整个综合调度台的风格不一致,而且在开发过程中,调试麻烦,调试过程受网络的影响较大。第二种方法却从根本上克服了以上所有缺点。

如何实现WinForm和Javascript之间的交互成为解决这个问题的核心问题。所谓交互就是WinForm的应用程序能够调用Javascript的程序接口,同时JS的程序也能够调用WinForm的应用程序接口。

(1)首先创建一个网页命名为:text.html假设该网页的路径为:D://text.html

代码如下:

Main Page

functionShopXG(obj)

{

alert(obj);

//alert(“我要开网店、携购独立网店系统,模板最全,最专业的系统!”);

}

functionInvokeFunc()

{

window.external.ShowMessage(“呵呵”);

}

(2)创建一个WinForm应用程序,在应用程序窗体上添加一个浏览器控件:webBrowser1

(3)在WinForm的窗体Form1中添加一个button按钮。Button1用来测试调用JS事件。

后台代码如下:

//要想调用JS的类都需要添加一下两句 [PermissionSet(SecurityAction.Demand, Name =”FullTrust”)] [System.Runtime.InteropServices.ComVisibleAttribute(true)] publicpartialclassForm1:Form { publicForm1() { InitializeComponent(); this.webBrowser1.Url =newUri(“D://text.html”); webBrowser1.ObjectForScripting =this; //这句是必不可少的,是调用JS的前提 } privatevoidbutton1_Click(objectsender,EventArgse) { webBrowser1.Document.InvokeScript(“ShopXG”,newobject[]{“这是WinForm调用JS的一个测试!”}); } publicvoidShowMessage(stringmessage) { MessageBox.Show(“这是JS调用的WinFormc程序的一个测试!”); }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179395.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月21日 下午6:36
下一篇 2022年10月21日 下午6:46


相关推荐

  • 企业级场景硬碰硬!国产智能体bit-Agent小青龙正面挑战OpenClaw小龙虾

    企业级场景硬碰硬!国产智能体bit-Agent小青龙正面挑战OpenClaw小龙虾

    2026年3月14日
    2
  • STM32的NVIC和中断的总结「建议收藏」

    STM32的NVIC和中断的总结「建议收藏」前言:1.要想学习STM32中断,要先掌握STM32对优先级的定义;2.有51单片机开发经验会比较容易理解中断优先级;3.本篇博文基于STM32F103ZET6芯片和3.5.0标准库编写;4.本篇博文从寄存器入手,最终实现编程的步骤;如有不足之处,还请前辈多多指教;一基础知识1.cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断。(本博文只介绍

    2022年5月28日
    36
  • Pycharm 更换安装源

    Pycharm 更换安装源打开 Pycharm 点击 File gt Setting 搜索 interpreter 选择 ProjectInter 如图 点击加号选择 ManageReposi 删除默认的源 添加清华的安装源 保存配置清华 https pypi tuna tsinghua edu cn simple 豆瓣 http pypi douban com simple

    2026年3月27日
    2
  • 四级英语词汇大全(英语四级词汇表完整版)

    aart.一(个);每一(个)a.m(缩)上午,午前abandonvt.丢弃;放弃,抛弃abbreviationn.节略,缩写,缩短abilityn.能力;能耐,本领ablea.有能力的;出色的abnormala.不正常的;变态的aboardad.在船(车)上;上船abolishvt.废除,取消aboutprep.关于;在…周围aboveprep.在…上面;高于abroadad.(在)国外;到处absencen.缺席,不在场;缺乏absenta.不在场的

    2022年4月11日
    156
  • python自动化办公:excel篇,从此做表不加班。

    python自动化办公:excel篇,从此做表不加班。表格讲解表格格式表格分为 工作簿 工作表 单元格如图 整个文件就是一个工作簿 下面的 zhengjiang power 和 sheet1 为工作表 xlrd xlwt 读写表格

    2026年3月16日
    2
  • springboot项目服务器热部署,SpringBoot热部署加持

    springboot项目服务器热部署,SpringBoot热部署加持概述进行 SpringBoot 的 Web 开发过程中 我们很多时候经常需要重启 Web 服务器才能保证修改的源代码文件 或者一些诸如 xml 的配置文件 以及一些静态文件生效 这样耗时又低效 所谓的热部署指的是我们不需要重启 WebServer 就可以保证各项文件修改的立即生效 下面便来介绍一下在 IDEA 中进行 SpringBoot 的 Web 开发时如何加入热部署的支持 这里我们是使用 spring boot dev

    2026年3月18日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号