在vb.net中传递browsercontrol和winform应用程序之间的数据/操作?
问题描述:
我是一名贸易网站开发人员,但我正在为游戏模拟器编写一个前端。由于我熟悉html/css/javascript,理想情况下我想用我的所有布局来完成。我需要知道的是,如果这将是一个炫耀者。我需要做一些事情,比如用户点击浏览器控件上的元素,使表单代码基于特定路径启动某些内容。在vb.net中传递browsercontrol和winform应用程序之间的数据/操作?
这可能吗?如果是这样,这是一个可怕的想法?我现在应该停下来,只使用表单设计器?
答
这篇文章帮助我: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>
我认为,如果你只是抛弃了浏览器控制,而是重定向到刚刚作出的努力真正的winforms(我实际上建议WPF)的应用程序,那么你会得到一个更好的最终结果。 – 2012-07-16 20:49:57