2016-06-03 4 views
0

Normalerweise, wenn ich Code von C# vb.net i diesen Link http://converter.telerik.com/ verwenden konvertieren müssen aber auf eine alte Antwort (WebBrowser Control in a new thread) suchen'WebBrowser.DocumentCompleted + = Prozedur' Übersetzung von C# vb.net

Ich habe diese Zeile gefunden, die ich nicht verstehe und die der Konverter nicht übersetzt:

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 
    } 
} 

Wer weiß die Übersetzung?

Dank

+0

ich kein VB Guru bin, aber wenn es hilft - die Linie ein Event-Handler für Verkabelung. Es setzt browser_DocumentCompleted() als Ereignishandler für das DocumentCompleted-Ereignis. – squillman

+0

Danke, ja, es ist ein eventHandler, aber ich verstehe den Code nicht, da ich in vb.net weiß, ist es nicht möglich, einen eventHandler zu einer Prozedur zu summieren, und ich möchte verstehen, was der C# Code bedeutet – Marcello

+0

Es ist nur die C# -Syntax zum Hinzufügen des Handlers. + = ist eine Abkürzung für Inkrement um einen Wert. Man kann also x + = 1 anstelle von x = x + 1 sagen. Es wird auch für den Fall der Verdrahtung verwendet. – squillman

Antwort

1

Diese Linie für WebBrowser.DocumentCompleted Ereignis eines Ereignishandler erweitert, indem er auf die browser_DocumentCompleted Methode.

Dies ist die Übersetzung: AddHandler br.DocumentCompleted, AddressOf browser_DocumentCompleted

+0

vielen Dank für die schnelle Antwort, aber wenn ich 'br.DocumentCompleted - = browser_DocumentCompleted;' (beachte das - stattdessen +) was es bedeutet? Danke – Marcello

+1

@Marcello Das ist die RemoveHandler-Syntax. Es würde zu "RemoveHandler br.DocumentCompleted, AddressOf browser_DocumentCompleted" übersetzt. –