在vb.net中传递browsercontrol和winform应用程序之间的数据/操作?

问题描述:

我是一名贸易网站开发人员,但我正在为游戏模拟器编写一个前端。由于我熟悉html/css/javascript,理想情况下我想用我的所有布局来完成。我需要知道的是,如果这将是一个炫耀者。我需要做一些事情,比如用户点击浏览器控件上的元素,使表单代码基于特定路径启动某些内容。在vb.net中传递browsercontrol和winform应用程序之间的数据/操作?

这可能吗?如果是这样,这是一个可怕的想法?我现在应该停下来,只使用表单设计器?

+0

我认为,如果你只是抛弃了浏览器控制,而是重定向到刚刚作出的努力真正的winforms(我实际上建议WPF)的应用程序,那么你会得到一个更好的最终结果。 – 2012-07-16 20:49:57

这篇文章帮助我:http://www.codeproject.com/Articles/35373/VB-NET-C-and-JavaScript-communication

具体做法是:

添加就像在你form1的进口System.Security.Permissions import语句(主要形式)。 添加了几个属性到Form1,如:

<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _ 
    <System.Runtime.InteropServices.ComVisibleAttribute(True)> _ 
    Public Class Form1 
    End Class 

然后

从JavaScript

与最后一个项目继续调用VB.NET,添加以下行代码 您的表格1:

 Public Sub showVbHelloWorld() 
     MsgBox("Hello world") 
    End Sub 

在form1加载事件中,添加以下代码行 Me.WebBrowser1.ObjectForScripting = Me 该行的功能是将您的form1类公开给HTML页面上的JavaScript。只要您使用COM对其进行访问并将其权限设置为fulltrust,就可以公开任何类。

在你的HTML页面,添加一个按钮,并在其click事件,调用这个函数:

<script type="text/javascript"> 
     function showVbHelloWorld() { 
      window.external.showVbHelloWorld(); 
     } 
    </script>