Ich weiß nicht viel über Windows Message Pump, aber ich denke, Ereignisse werden mit Message Pump ausgelöst. Nachrichten in Windows Message Pump löschen
1) Wenn mein Web-Browser-Steuerelement auf einigen Websites navigiert, es verschiedene Ereignisse von Document Abschluss schafft, sobald ich bekam, was ich in WebBrowser_Document_Completed benötigt(), ich will alle weiteren Dokument completion.How ignorieren Kann ich es schaffen?
2) Wenn ich eine MessageBox zeigen() in Document_Completed (...), Es zeigt mehrere Meldungsfeld zeigt, dass es auf parallelen threads.but läuft, wenn ich es debuggen, i finden Sie, dass es immer auf Hauptthread.so läuft, wenn andere zwei Threads erstellt werden?
3) Zur gleichen Zeit, wenn ich schließe, schließt es das Fenster, aber Prozess läuft immer noch im Hintergrund, ich benutze keinen anderen Thread noch sehe ich zwei andere Threads, wenn ich debuggen. Vielen Dank.
Sobald Sie die ersten bekommen Ereignis, können Sie das Ereignis abmelden oder eine Markierung verwenden, um das Ereignis zu ignorieren? Wie bist du zu dem Schluss gekommen, dass es mehrere Threads gibt? –
@SriramSakthivel Programm geht nicht weiter, wenn Dialog Ergebnis nicht zurückgegeben wird, wenn es auf Same-Thread läuft, dann wie mehrere Message-Box gleichzeitig angezeigt werden, dass wie abgeschlossen – Charlie
Reentracy kann dazu führen, so dass technisch einzelnen Thread dies tun können. Zeigen Sie die 'Thread.CurrentThread.ManagedThreadId' in der Nachrichtenbox an, um zu bestätigen, dass es sich tatsächlich um verschiedene Threads handelt. –