【问题标题】:convert c# to vb.net webbrowser将 c# 转换为 vb.net 网络浏览器
【发布时间】:2011-02-18 02:18:36
【问题描述】:

我正在尝试将此 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; }
        }

错误 'Public Event Navigated(sender As Object, e As System.Windows.Forms.WebBrowserNavigatedEventArgs)'是一个事件,不能直接调用。使用“RaiseEvent”语句来引发事件。

请帮忙

【问题讨论】:

  • 只有“C#”示例中的第一个方法实际上是C#。

标签: c# vb.net


【解决方案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

【讨论】:

  • @JAiro 对于第二个子,我收到此错误:> > Readystate 是一种类型,不能用作表达式
  • @Jairo 我有一个枚举 Public Enum ReadyState 和一个属性 public ReadyState ReadyState
  • 编译器将您的 Property ReadyState 与名为 ReadyState 的枚举混淆,请尝试重命名该属性并重试。
  • 可以转换这个private void LinkDialog_Load(object sender, EventArgs e) { label1.Text = URL; BeginInvoke((MethodInvoker)delegate { linkEdit.Focus(); }); }
  • 试试这个:Private Sub LinkDialog_Load(ByVal sender As Object, ByVal e As EventArgs) label1.Text = URL BeginInvoke((MethodInvokerUnknown, delegate, {, linkEdit.Focus) End Sub
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2012-05-14
      相关资源
      最近更新 更多