vb.net 教程 12-5 webbrowser 与窗体交互2

继续上一节内容,本节开始窗体代码

要实现网页上可以调用窗体代码,必须完成两项工作:
1、使窗体上的类对网页可见;
2、设置一个对象,使在webbrowser网页中的脚本能够访问。

第一项工作有两个方法
1、直接设置项目属性,使程序集 COM可见:
2、直接通过代码方式,通过使用 ComVisibleAttribute 对类进行标记使其成为 COM 可见的类。
<System.Runtime.InteropServices.ComVisibleAttribute(True)>
Public Class Form4

第二项工作:
设置Webbrowser .ObjectForScripting 属性
在Form4_Load时,添加如下代码
    Private Sub Form4_Load(sender As Object,e As EventArgs) Handles MyBase.Load
        wbMain.ObjectForScripting = Me
    End Sub


完成以上两项工作,设置网页要调用方法为Public就可以了:
    Public Sub getValue(ByVal args1 As String,ByVal args2 As String,ByVal options As String)
        Dim a1,a2 As Integer
        a1 = Integer.Parse(args1)
        a2 = Integer.Parse(args2)
        Dim values As Integer
        Select Case options
            Case "+"
                values = a1 + a2
            Case "-"
                values = a1 - a2
            Case "*"
                values = a1 * a2
            Case Else
                values = a1 / a2
        End Select

        Dim element As HtmlElement
        element = wbMain.Document.GetElementById("values")
        element.SetAttribute("value",values)
    End Sub

来看看运行结果:

需要说明的是,作为简单例子,代码中未涉及除错。

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...