private void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
br = sender as WebBrowser;
docText = br.Document.Body.InnerText;
}
private void thread(object uri)
{
Uri url = uri as Uri;
WebBrowser web = new WebBrowser();
web.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(browser_DocumentCompleted);
web.Navigate(url);
...}
Im oberen Code wird ein Thread gestartet der den Inhalt eines Webbrowser übergeben soll. Leider kommt er nie in die browser_DocumentCompleted Funktion.
Das Hauptprogramm öffnet wie folgt...
Uri uri = new Uri(url);
ParameterizedThreadStart ts = thread;
Thread th = new Thread(ts);
th.SetApartmentState(ApartmentState.STA);
th.Start(uri);
while (th.IsAlive)
{
Thread.Sleep(100);
}
Was genau soll das werden, wenn es fertig ist?
Denn das WebBrowserControl braucht eine aktive Nachrichtenschleife - und so wie der Code aussieht, den du gepostet hast ("Hauptprogramm") - ist die nicht vorhanden.
Hallo digi333,
das ist leider schon der zweite überflüssige Thread in Folge. Es gehört zu den absoluten Grundlagen, dass man Controls nicht in separaten Threads erstellen darf, siehe auch [FAQ] Warum blockiert mein GUI?
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1 und 1.1 und schau dir im eigenen Interesse am besten nochmal die Grundlagen der Windows Forms Programmierung an.
herbivore