Das Programm, das ich gerade erstelle, hat einige Pictureboxes. Die Bilder von diesen werden den Ressourcen nicht hinzugefügt, stattdessen möchte ich sie von einer Website laden. Es funktioniert soweit, das größte Problem ist, dass das Programm abstürzt, wenn es die Bilder nicht laden konnte. Ich suchte nach diesem Problem, und es scheint, dass die asynchronen Bilder der richtige Weg sind, um dieses Problem zu lösen.C# Laden von Bildern async
Derzeit ist dies die Art, wie ich die Bilder bin Laden:
private static Image GetImageFromURL(string url)
{
HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
HttpWebResponse httpWebReponse = (HttpWebResponse)httpWebRequest.GetResponse();
Stream stream = httpWebReponse.GetResponseStream();
return Image.FromStream(stream);
}
....
foo.Image = GetImageFromURL("https://foo.com/bar.jpg");
ich viele Threads auf SO und anderen Seiten gelesen habe, aber ich habe nicht noch verstehen asynchron. Ich hoffe wirklich, dass jemand hier versuchen kann zu erklären, wie man es benutzt, wenn async der richtige Weg ist.
Sorry für mein schlechtes Englisch, ich hoffe es ist nicht schwer zu verstehen.
'" die Bilder asynchron zu bekommen wäre der richtige Weg, um dieses Problem zu lösen "' - Was lässt dich das denken? Zu bestimmen, warum die Anwendung fehlschlägt, scheint ein guter erster Schritt zu sein, um das zu verhindern, anstatt zufällige Änderungen vorzunehmen und auf das Beste zu hoffen. Sonst wird sich das gleiche Problem nur asynchron manifestieren. – David
@David Es ist nicht so viel über den Absturz selbst. Ich hätte es vielleicht ein bisschen besser erklären sollen. Das Programm stürzt ab, wenn es keine funktionierende Verbindung zum Abrufen der Bilder gibt. Dies sollte einfach zu beheben sein. Der asynchrone Teil ist eher eine lange Ladezeit beim Starten des Programms zu lösen, wenn die Verbindung oder die Website langsam ist. – Backslash
Das 'PictureBox'-Steuerelement verfügt über eine integrierte Unterstützung zum asynchronen Laden von Image aus einer URL. [Laden Sie ein Bild asynchron aus einer URL in eine PictureBox] (http://stackoverflow.com/questions/37763916/asynchron-load-an-image-from-a-url-to-a-picturebox) –