在vb.net中传递browsercontrol和winform app之间的数据/动作?

时间:2012-07-16 16:34:21

标签: vb.net winforms webbrowser-control

我是一名网络开发者,但我正在尝试为游戏模拟器编写一个前端。由于我熟悉html / css / javascript,理想情况下我想用它完成我的所有布局。我需要知道的是,这是否会成为一个障碍。我需要做一些事情,比如当用户点击浏览器控件上的元素时,使表单代码根据特定路径启动。

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

1 个答案:

答案 0 :(得分:3)

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

具体做法是:

  

在form1(主窗体)中添加Imports System.Security.Permissions等导入语句。   向form1添加几个属性,如:

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

然后

  

从JavaScript调用VB.NET

     

继续上一个项目,添加以下代码行   你的form1:

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

在form1加载事件中,添加以下代码行              Me.WebBrowser1.ObjectForScripting =我   这一行的作用是,它将您的form1类暴露给HTML页面上的JavaScript。只要你,就可以暴露任何类   让它对COM可见,并将其权限设置为fulltrust。

     

在HTML页面中,添加一个Button,并在其click事件中调用此函数:

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