PictureBox.LoadAsync Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A kép aszinkron betöltése.
Túlterhelések
| Name | Description |
|---|---|
| LoadAsync(String) |
A rendszerképet aszinkron módon tölti be a megadott helyen. |
| LoadAsync() |
A kép aszinkron betöltése. |
LoadAsync(String)
A rendszerképet aszinkron módon tölti be a megadott helyen.
public:
void LoadAsync(System::String ^ url);
public void LoadAsync(string url);
member this.LoadAsync : string -> unit
Public Sub LoadAsync (url As String)
Paraméterek
- url
- String
A kép PictureBoxelérési útja a .
Példák
Az alábbi példakód bemutatja a LoadAsync metódus használatát. A példa futtatásához illessze be a következő kódot egy Windows űrlapba, amely egy pictureBox1 nevű PictureBox és egy startLoadButton nevű Button tartalmaz. Győződjön meg arról, hogy a Click gomb eseménye a példában szereplő metódushoz startLoadButton_Click van társítva. A rendszerképfájl elérési útját olyan elérési útra kell módosítania, amely érvényes a rendszeren.
private void startButton_Click(object sender, EventArgs e)
{
// Ensure WaitOnLoad is false.
pictureBox1.WaitOnLoad = false;
// Load the image asynchronously.
pictureBox1.LoadAsync(@"http://localhost/print.gif");
}
Private Sub startLoadButton_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles startLoadButton.Click
' Ensure WaitOnLoad is false.
pictureBox1.WaitOnLoad = False
' Load the image asynchronously.
pictureBox1.LoadAsync("http://localhost/print.gif")
End Sub
Megjegyzések
Ha a url paraméter helyi fájlt jelez, az ajánlott formátum egy helyi fájl elérési útja. Egy myPicture.jpg nevű képfájl például a c:\ helyen található, a url paraméter átadásával c:\myPicture.jpg érhető el. Egy teljes elérési út, például http://www.contoso.com/path/images/image.jpgegy relatív elérési út, például ./images/image.jpghasználható. Ha relatív elérési utat használ, az a munkakönyvtárhoz viszonyítva lesz figyelembe véve. A metódus hívása Load a ImageLocation tulajdonságot a paraméter értékére állítja url .
A metódus hívása a LoadAsync tulajdonságot a ImageLocation következő értékre állítja url: . A LoadAsync metódus meghívása mellett a WaitOnLoad tulajdonságot úgy kell beállítania, hogy false aszinkron módon töltsön be egy képet. Ha aszinkron módon tölt be egy képet, az LoadProgressChanged eseményt kezelve meghatározhatja a képbetöltés vagy az LoadCompleted esemény állapotát, hogy megállapítsa, mikor fejeződik be a képbetöltés. Ha egy aszinkron képbetöltési művelet során hiba történik, a rendszer a rendszer elfogja és jelenti azt a ErrorAsyncCompletedEventArgs.
Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által Load(String)kiadott kivételeket: .
A betöltési viselkedés változásai
A betöltési viselkedés változásai
A .NET 8-tól kezdve a PictureBox vezérlő által a távoli rendszerképek betöltésének viselkedése módosult. Alapértelmezés szerint a System.Net.ServicePointManager.CheckCertificateRevocationList tulajdonság be van állítva, true mielőtt a távoli rendszerképet letöltené a WebClientrendszer. Ez a beállítás biztosítja, hogy a tanúsítványokkal rendelkező kiszolgálók az érvényesítési folyamat részeként ellenőrizve legyen a tanúsítványokat a hitelesítésszolgáltató visszavonási listáján (CRL).
Warning
A távoli rendszerkép betöltése CheckCertificateRevocationList után a rendszer az alkalmazás teljes élettartamára módosítja true a rendszerképet. Szükség esetén manuálisan is visszaállíthatja a false visszaállítást, de amint egy másik távoli rendszerkép be van töltve, CheckCertificateRevocationList a rendszer be van állítva true.
Előfordulhat, hogy egy korábban működő távoli erőforrás betöltése sikertelen lesz, ha a helyileg gyorsítótárazott CRL elavult, és a frissítés nem kérhető le. Ez akkor fordulhat elő, ha az alkalmazás által futtatott hálózat korlátozott, és a CRL helye nem szerepel az engedélyezési listán.
Az is lehetséges, hogy a CRL ellenőrzésének késleltetése negatívan befolyásolja az alkalmazás működését.
Ezt a viselkedést az alkalmazás System.Windows.Forms.ServicePointManagerCheckCrl beállításának beállításával tilthatja le az alábbi módok egyikével:
Állítsa be a tulajdonságot
falseaz [alkalmazás].runtimeconfig.json konfigurációs fájlba:{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Adjon hozzá egy
<RuntimeHostConfigurationOption>elemet a projektfájlhoz a letiltásához:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
A következőre érvényes:
LoadAsync()
A kép aszinkron betöltése.
public:
void LoadAsync();
public void LoadAsync();
member this.LoadAsync : unit -> unit
Public Sub LoadAsync ()
Megjegyzések
A metódus meghívása LoadAsync mellett a WaitOnLoad tulajdonságot úgy kell beállítani, hogy false aszinkron módon töltsön be egy képet. Ha aszinkron módon tölt be egy képet, az LoadProgressChanged eseményt kezelve meghatározhatja a képbetöltés vagy az LoadCompleted esemény állapotát, hogy megállapítsa, mikor fejeződik be a képbetöltés.
Ez a metódus a feladatban tárolja az összes olyan nem használati kivételt, amelyet a metódus szinkron megfelelője tud dobni. Ha egy kivételt tárol a visszaadott tevékenységben, akkor a rendszer akkor küldi el a kivételt, amikor a feladatra vár. A használati kivételek(például ArgumentException) továbbra is szinkron módon jelennek meg. A tárolt kivételekről lásd a következő által Load()kiadott kivételeket: .
A betöltési viselkedés változásai
A betöltési viselkedés változásai
A .NET 8-tól kezdve a PictureBox vezérlő által a távoli rendszerképek betöltésének viselkedése módosult. Alapértelmezés szerint a System.Net.ServicePointManager.CheckCertificateRevocationList tulajdonság be van állítva, true mielőtt a távoli rendszerképet letöltené a WebClientrendszer. Ez a beállítás biztosítja, hogy a tanúsítványokkal rendelkező kiszolgálók az érvényesítési folyamat részeként ellenőrizve legyen a tanúsítványokat a hitelesítésszolgáltató visszavonási listáján (CRL).
Warning
A távoli rendszerkép betöltése CheckCertificateRevocationList után a rendszer az alkalmazás teljes élettartamára módosítja true a rendszerképet. Szükség esetén manuálisan is visszaállíthatja a false visszaállítást, de amint egy másik távoli rendszerkép be van töltve, CheckCertificateRevocationList a rendszer be van állítva true.
Előfordulhat, hogy egy korábban működő távoli erőforrás betöltése sikertelen lesz, ha a helyileg gyorsítótárazott CRL elavult, és a frissítés nem kérhető le. Ez akkor fordulhat elő, ha az alkalmazás által futtatott hálózat korlátozott, és a CRL helye nem szerepel az engedélyezési listán.
Az is lehetséges, hogy a CRL ellenőrzésének késleltetése negatívan befolyásolja az alkalmazás működését.
Ezt a viselkedést az alkalmazás System.Windows.Forms.ServicePointManagerCheckCrl beállításának beállításával tilthatja le az alábbi módok egyikével:
Állítsa be a tulajdonságot
falseaz [alkalmazás].runtimeconfig.json konfigurációs fájlba:{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Adjon hozzá egy
<RuntimeHostConfigurationOption>elemet a projektfájlhoz a letiltásához:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>