场景描述
今天做了个功能,要访问第三方系统数据,
他们提供 Com 组件,我们使用的是winform 调用 com组件访问对方提供的xml数据!
结果,com 组件在 winform 中调用 com 组件失败!实在无语了!
和对方工程师沟通他们测试没问题。更郁闷了!
他们提供一个测试页,是用一个静态页调用的。
我们拿到了这个测试页,在本地运行也没问题!比较怪异啊~~~~~~
是在没辙了,就像到“如何用 winform 程序调用静态页中的脚本呢?”
功夫不负有心人,终于找到调用方法。总算搞定了这个功能!
----------------------------------------------
下面总结一下遇到的问题和实现思路!
思路:
使用 .net 提供的 WebBrowser 控件,在执行这个控件提供的
webBrowser1.Document.InvokeScript() 方法调用 javascript 脚本
第一个参数:页面脚本的【名字】
第二个参数:脚本需要的参数,以 new object[] {“pra1”,"par2" ...... } 形式提供
方法返回值:为 object 类型的一个值
----------------------------------------------
举个例子吧
页面脚本为
function Add(num1,num2)
{
return num1+num2;
}
winform 窗体条用为
objectresult = webBrowser1.Document.InvokeScript("Add",new object[]{100,200}) ;
----------------------------------------------
遇到的问题:
本来这个页面是个辅助数据导出页,没必要让使用者看到,
但是,在调用javascript脚本方法时总是没有返回值(null),
跟了好久,发现如果把页面展现出来在调用就不会有问题,
还发现,当不显示当前窗口是webBrowser1.Document 中
有一个关于 com 组件注册的异常消息(具体哪个属相记不清了,不过没引起整个页面异常)
哎!最后还是改变了实现思路,变成了让用户看到这个辅助页的方式。
不过也算完成了这个功能了,也还要。要不周末就郁闷了!
分享到:
相关推荐
C#winform窗体应用程序打开文件对话框
C# winform 窗体应用程序实现石头剪刀布
C#编程 WinForm窗体开发 Selected(源码)C#编程 WinForm窗体开发 Selected(源码)C#编程 WinForm窗体开发 Selected(源码)C#编程 WinForm窗体开发 Selected(源码)C#编程 WinForm窗体开发 Selected(源码)C#编程 WinForm...
C# WInForm窗体嵌入外部EXE程序
C# Winform 窗体传值及接收返回值 通过构造传值 通过属性传值
C#编程 WinForm窗体开发 ChineseCode(源码)C#编程 WinForm窗体开发 ChineseCode(源码)C#编程 WinForm窗体开发 ChineseCode(源码)C#编程 WinForm窗体开发 ChineseCode(源码)C#编程 WinForm窗体开发 ChineseCode(源码)...
C#winform窗体应用程序使用 XML 与 DataGrid空间实现增删改查
一个简单的C#WinForm窗体包含3个功能,由3个按钮分别实现: 1.点击按钮1弹出表白消息提示框,消息提示可以依据自己的需求修改代码; 2.点击按钮2变更picturebox属性,变更为可视状态,显示送给女朋友的花; 3.点击...
C# winform 子窗体调用父窗体函数实现关闭该窗体打开另一个窗体;在父窗体分From1内嵌一个panel1,在panel1里载入From2,点击在子窗体From2中的按钮,清除panel1里的From2,新载入From3,点击在子窗体From3中的按钮...
C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子
c# winform 窗体样式风格 多种漂亮好看的样式风格 下拉框选择
C# winform窗体技巧实例。包含:QQ界面的实现,漂浮的窗体,透明渐现窗体等技巧
C#编程 WinForm窗体开发 DropDownList(源码)C#编程 WinForm窗体开发 DropDownList(源码)C#编程 WinForm窗体开发 DropDownList(源码)C#编程 WinForm窗体开发 DropDownList(源码)C#编程 WinForm窗体开发 DropDownList...
C#winform窗体间传值,三种方法示例,注释详细。使用方法:使用vs2013打开编译运行即可; 工程中总共介绍了三种方法: ###方法1:通过保存对象的引用调用其方法实现对子窗体的控制; ###方法2:通过委托,在子窗体...
c# Winform 窗体 动画效果 c# Winform 窗体 动画效果 c# Winform 窗体 动画效果c# Winform 窗体 动画效果
C#编程 WinForm窗体开发 DynamicTaskStock(源码)C#编程 WinForm窗体开发 DynamicTaskStock(源码)C#编程 WinForm窗体开发 DynamicTaskStock(源码)C#编程 WinForm窗体开发 DynamicTaskStock(源码)C#编程 WinForm窗体...
https://blog.csdn.net/qq_34280681/article/details/105428119
采用GDI+对Winform窗体美化:无边框窗体、窗体圆角、系统按钮控制器 等
C#编程 WinForm窗体开发 GetFocus(源码)C#编程 WinForm窗体开发 GetFocus(源码)C#编程 WinForm窗体开发 GetFocus(源码)C#编程 WinForm窗体开发 GetFocus(源码)C#编程 WinForm窗体开发 GetFocus(源码)C#编程 WinForm...
3.为窗体添加SizeChanged事件,并在其方法Form1_SizeChanged中,首次记录窗体和其控件初始位置和大小,之后调用类的自适应方法,完成自适应。 4.Panel,DataGridView等控件同样适用。 应用代码如下: using System; ...