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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是WinHTTP?「建议收藏」

    什么是WinHTTP?「建议收藏」WinHTTP的全称是MicrosoftWindowsHTTPServices,它提供给开发者一个HTTP客户端应用程序接口(API),通过这种API借助HTTP协议给其他的HTTP服务器发

    2022年7月4日
    58
  • RSA加解密算法的Java实现

    RSA加解密算法的Java实现

    2021年4月9日
    153
  • Java 事务注解(注解式事务)

    spring中的@Transactional(rollbackFor=Exception.class)事务处理,当你的方法中抛出异常时,它会将事务回滚,数据库中的数据将不会改变,也就是回到进入此方法前的状态。1 让checked例外也回滚:在整个方法前加上 @Transactional(rollbackFor=Exception.class)2 让uncheck

    2022年4月13日
    52
  • istat 激活码_通用破解码

    istat 激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    91
  • 【考研经验】一个苍山的不入流的学生的考研之路[通俗易懂]

    【考研经验】一个苍山的不入流的学生的考研之路[通俗易懂]转载于王道论坛,原文作者为:YaphetS迷弟点击原文链接,可进入原帖。如果要是让我再考一次的话,我一定不会像这次这样吊儿郎当。眼前仿佛回到了2017年的寒假,刚过完年,几乎从未…

    2022年5月13日
    36
  • input 事件监听

    input 事件监听1、change事件,在input失去焦点才会考虑触发,它的缺点是无法实时响应,与blur事件有着相似的功能,但与blur事件不同的是,change事件在输入框的值未改变时并不会触发,当输入框的值和上一次的值不同,并且输入框失去焦点,就会触发change事件。2、input事件,需要实时检测input输入框的值的时候,就需要用到h5的新事件:input事件了,input事件可以实现对input…

    2022年5月10日
    174

发表回复

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

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