【问题标题】:'webbrowser.documentCompleted += procedure' translation from c# to vb.net'webbrowser.documentCompleted += procedure' 从 c# 到 vb.net 的翻译
【发布时间】:2016-10-03 13:52:34
【问题描述】:

通常当我需要将代码从 c# 转换为 vb.net 时,我使用此链接 http://converter.telerik.com/ 但寻找一个旧答案 (WebBrowser Control in a new thread)

我发现这行我不明白,而且转换器不翻译:

br.DocumentCompleted += browser_DocumentCompleted;

private void runBrowserThread(Uri url) {
var th = new Thread(() => {
    var br = new WebBrowser();
    br.DocumentCompleted += browser_DocumentCompleted;
    br.Navigate(url);
    Application.Run();
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
}

void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
    var br = sender as WebBrowser;
    if (br.Url == e.Url) {
        Console.WriteLine("Natigated to {0}", e.Url);
        Application.ExitThread();   // Stops the thread
    }
}

有人知道翻译吗?

谢谢

【问题讨论】:

  • 我不是 VB 专家,但如果有帮助的话 - 那条线正在连接一个事件处理程序。它将 browser_DocumentCompleted() 设置为 DocumentCompleted 事件的事件处理程序。
  • 谢谢,是的,它是一个 eventHandler,但我不明白代码,因为我知道在 vb.net 中不可能将 eventHandler 与过程相加,我想了解什么c#代码意思
  • 这只是添加处理程序的 C# 语法。 += 是按某个值递增的简写。所以你可以说 x+=1 而不是 x = x + 1。它也用于接线的情况。
  • += 用于许多事情。您可以像 squillman 所示那样递增,也可以将一个字符串附加到另一个字符串,或者添加一个事件处理程序,如示例中所示

标签: c# vb.net code-translation


【解决方案1】:

该行正在为WebBrowser.DocumentCompleted 事件添加一个事件处理程序,指向browser_DocumentCompleted 方法。

这是翻译: AddHandler br.DocumentCompleted, AddressOf browser_DocumentCompleted

【讨论】:

  • 非常感谢您的快速回复,但是当我遇到'br.DocumentCompleted -= browser_DocumentCompleted;' (注意-而不是+)是什么意思?谢谢
  • @Marcello 这就是 RemoveHandler 语法。它将转换为RemoveHandler br.DocumentCompleted, AddressOf browser_DocumentCompleted
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-20
  • 1970-01-01
  • 2016-06-26
  • 1970-01-01
  • 2018-09-16
  • 2019-10-07
  • 1970-01-01
相关资源
最近更新 更多