将c#转换为vb.net webbrowser

时间:2011-02-17 17:29:39

标签: c# vb.net

我正在尝试将此c#转换为具有webbrowser控件的vb.net,但我很困惑。代码在用户控件中。

C#

 private void SetupEvents()
    {
        webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);
        webBrowser1.GotFocus += new EventHandler(webBrowser1_GotFocus);
    }

 [Browsable(true)]
    public override Color BackColor
    {
        get
        {
            return base.BackColor;
        }
        set
        {
            base.BackColor = value;
            if (ReadyState == ReadyState.Complete)
            {
                SetBackgroundColor(value);
            }
        }
    }



public HtmlDocument Document
        {
            get { return webBrowser1.Document; }
        }

错误 '公共事件导航(发送者为对象,e为System.Windows.Forms.WebBrowserNavigatedEventArgs)'是一个事件,不能直接调用。使用'RaiseEvent'语句来引发事件。

请帮助

3 个答案:

答案 0 :(得分:1)

假设webBrowser1_Navigated和webBroswer1_GotFocus是同一个类中的方法,那么在SetupEvents()方法中:

AddHandler WebBrowser1.Navigated, AddressOf webBrowser1_Navigated
AddHandler WebBrowser1.GotFocus, AddressOf webBrowser1_GotFocus

答案 1 :(得分:1)

您必须使用AddHandler关键字而不是+ =来设置事件处理程序。

答案 2 :(得分:1)

试试这段代码:

Private Sub SetupEvents()
    AddHandler webBrowser1.Navigated, AddressOf Me.webBrowser1_Navigated
    AddHandler webBrowser1.GotFocus, AddressOf Me.webBrowser1_GotFocus
End Sub    
<Browsable(true)>  _
Public Overrides Property BackColor As Color
    Get
        Return MyBase.BackColor
    End Get
    Set
        MyBase.BackColor = value
        If (ReadyState = ReadyState.Complete) Then
            SetBackgroundColor(value)
        End If
    End Set
End Property

Public ReadOnly Property Document As HtmlDocument
    Get
        Return webBrowser1.Document
    End Get
End Property

Private Sub SetupEvents()
    AddHandler webBrowser1.Navigated, AddressOf Me.webBrowser1_Navigated
    AddHandler webBrowser1.GotFocus, AddressOf Me.webBrowser1_GotFocus
End Sub