WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用

纯粹WinForm界面不够友好,实现数据复杂度高的处理有些力不从心,所以看了看api以后决定用html来做.

我的wlw的代码插件不是很好用,大家凑合看吧 

类前说明引用和权限

   1:   [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
   2:   [System.Runtime.InteropServices.ComVisibleAttribute(true)]

添加C#可调用方法

   1:  public string winformMethod(string message)
   2:          {
   3:              MessageBox.Show("WinForm Called By JS,Get Message:"+message);
   4:              return "30c.org tell u "+ message;
   5:          }

添加js对应的调用方法

   1:  function callWinForm()
   2:              {
   3:                  var str =document.getElementById('clove').value;
   4:                  str = window.external.winformMethod(str);
   5:                  alert('JS Get Return Value:'+str);
   6:              }

如果反过来,则用js调用winform的写法直接抓个图了

  运行效果图

 

代码打包下载 我发到网盘了   传送门

本文链接:WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:三十岁,谢谢!^^

 

时间: 2024-12-07 22:28:34

WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用的相关文章

WPF中嵌入WinForm中的webbrowser控件

原文:WPF中嵌入WinForm中的webbrowser控件 使用VS2008创建WPF应用程序,需使用webbrowser.从工具箱中添加WPF组件中的webbrowser发现其中有很多属性事件不能使用.决定还是使用WinForm中的webbrowser.要想在WPF中使用WinForm控件,查看MSDN,需经过以下步骤. 创建名为 HostingWfInWpf 的 WPF 应用程序项目. 在解决方案资源管理器中,添加一个对名为 WindowsFormsIntegration.dll 的 Wi

winform里面嵌入webbrowser的问题

问题描述 winform里面嵌入webbrowser,在Webbrowser里面加载一个word文档,然后通过word打开任一word文档,这时回到winform,webbrowser里面的word工具栏不能用了,点击没任何反应,重新打开windform,工具栏又可以用了,关闭word,工具栏又不能用了也就是word会影响webbrowser里面的工具栏.我在多个电脑上测试了我的程序,都是这样的.我用的office2013大家遇到过这个问题没有,怎么解决,谢谢! 解决方案 解决方案二:没有.看意

零起点 Asp.net中使用javaScript实现前后台方法的相互调用

零起点 Asp.net中使用javaScript实现前后台方法的相互调用 一.前台调用后台的方法: 1.在后台编写你要调用到前台的方法,如下: public string str()//javaScript函数中执行C#代码中的函数 { return "javaScript方法中执行C#代码中的方法"; } 2.前台用JS就可以实现调用后台的方法,如下: <script type="text/javascript">function Test() {va

如何在C# winform中嵌入word文档

问题描述 我需要在winform中显示word文档,并能对文档进行操作,例如(修改,保存),也就是能用代码直接对文档进行操作.请不要说用这样的代码:Word.ApplicationClassword=newWord.ApplicationClass();或Word.Applicationword=newWord.Application();这样确实能对word文档进行操作,但是它弹出独立的word界面.最好能给个例子. 解决方案 解决方案二:使用WebBrowser控件载入word文档word和

winform中的webbrowser控件,打开网页遇到跨域js就报错。高分求解

问题描述 由于js报错,用winform中的webbrowse打开的网页与ie打开的网页不一至,有些根本打不开,影响使用.只要网页中有跨域的js调用就会报错,求解决方法.不要说屏蔽错误,屏蔽了网页还是不正常.希望与IE显示一致.偿试将IE安全级别降到最低,并添加信任站点,还是不行.这是报错的图片示例 解决方案 解决方案二:可以试一下,关闭脚本调试解决方案三:关闭脚本调试黄色是警告不是错误.安全警告,即将跨域浏览.差不多是这个意思.解决方案四:你用IE打开这个页面,会报错吗?解决方案五:IE打开是

Winform 中嵌入外部exe程序

问题描述 我在WInform界面嵌入了一个其他exe程序这个Exe程序上面有ToolStrip控件我点击它里面的ToolStripButton按钮为什么没反应,根本就不执行ToolStripButton_Click事件里的代码,好像都没进去,请高手指点下! 解决方案 解决方案二:无语了.你的ToolStripButton_Click怎么注册给人家进程了?解决方案三:赚点分好难,楼主的问题是玄学问题解决方案四:你是怎么嵌入的?解决方案五:而且,你要测试按钮好使不好使,也要在那个exe程序里弹出个对

关于在Winform中使用WebBrowser控制无法使用Ctrl-C快捷键的问题

问题描述 一个WinForm,里面放一个WebBrowser,运行时,让这个WebBrowser加载某个网页.然后,使用鼠标高亮网页中的某些文字,再然后按Ctrl-C,发现选中的文字并没有被复制到系统剪贴板.但是,如果我在选中文字上点右键--点[复制],则可以.请问怎么回事?谢谢. 解决方案 解决方案二:可能是被屏蔽了吧,可以自己做个ctrlC解决方案三:这个CTRL+C必须自己写,不能用系统的解决方案四:然而并没有你说的问题那就估计是你页面有问题也有可能

winform中嵌入flash(EmbedMovie属性)

问题描述 用winform加载FLASH,然后想让FLASH以winform为容器,储存在里面,用过EmbedMovie属性,内嵌但是却没有任何效果?请问是怎么回事?? 解决方案 解决方案二:要在c#winform程序里嵌入FLASH,其实就是直接引用Flash的ocx控件.那你就需要使用"COM组件"ShockwaveFlashObject.不过这个"Flash.ocx"控件不能直接在"COM组件"窗口中找到..需要我们手动添加,选择菜单中的&

winform中使用webbrowser打开内嵌flvplayer-progressive.swf的html问题

问题描述 菜单为树节点,点击第一个菜单项使用webbrowser打开该htm页面后,点击下一个菜单项切换,同时对htm相关内容加密时,总是提示相关flv文件正在被另一进程使用,求高手解答原因 解决方案 解决方案二:用另外一个线程打开试试解决方案三:引用楼主的回复: 菜单为树节点,点击第一个菜单项使用webbrowser打开该htm页面后,点击下一个菜单项切换,同时对htm相关内容加密时,总是提示相关flv文件正在被另一进程使用,求高手解答原因 能具体说一下么解决方案四:引用1楼的回复: 用另外一