PictureBox.LoadAsync Metódus

Definíció

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 false az [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 false az [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: