Sdílet prostřednictvím


PictureBox.LoadAsync Metoda

Definice

Načte image asynchronně.

Přetížení

Name Description
LoadAsync(String)

Načte image do zadaného umístění asynchronně.

LoadAsync()

Načte image asynchronně.

LoadAsync(String)

Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs

Načte image do zadaného umístění asynchronně.

public:
 void LoadAsync(System::String ^ url);
public void LoadAsync(string url);
member this.LoadAsync : string -> unit
Public Sub LoadAsync (url As String)

Parametry

url
String

Cesta k obrázku, která se má zobrazit v souboru PictureBox.

Příklady

Následující příklad kódu ukazuje, jak použít metodu LoadAsync . Chcete-li spustit tento příklad, vložte následující kód do formuláře Windows, který obsahuje pojmenovaný PictureBoxpictureBox1 a pojmenovaný ButtonstartLoadButton. Ujistěte se, že Click událost tlačítka je přidružena k startLoadButton_Click metodě v tomto příkladu. Musíte změnit cestu k souboru obrázku na cestu, která je v systému platná.

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

Poznámky

url Pokud parametr označuje místní soubor, doporučený formát je místní cesta k souboru. Například soubor obrázku s názvem myPicture.jpg umístěný v c:\ by byl přístupný předáním c:\myPicture.jpg parametru url . Lze použít úplnou cestu, například nebo relativní cestu, například http://www.contoso.com/path/images/image.jpg./images/image.jpg. Pokud se použije relativní cesta, bude považována za relativní vzhledem k pracovnímu adresáři. Volání Load metody nastaví ImageLocation vlastnost na hodnotu parametru url .

Volání LoadAsync metody nastaví ImageLocation vlastnost na hodnotu url. Kromě volání LoadAsync metody je nutné nastavit WaitOnLoad vlastnost pro false načtení image asynchronně. Při asynchronním načtení obrázku můžete událost zpracovat LoadProgressChanged , abyste zjistili průběh načtení obrázku nebo LoadCompleted událost, abyste zjistili, kdy se načtení image dokončilo. Pokud během asynchronní operace načítání obrázku dojde k chybě, bude zachycena a hlášena Error vlastností objektu AsyncCompletedEventArgs.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Load(String).

Změny chování při načítání

Počínaje rozhraním .NET 8 se chování PictureBox ovládacího prvku načte ve vzdálené imagi. Ve výchozím nastavení System.Net.ServicePointManager.CheckCertificateRevocationList je vlastnost nastavena na true před stažením vzdáleného obrázku prostřednictvím WebClient. Toto nastavení zajistí, že servery s certifikáty budou mít tyto certifikáty v rámci procesu ověření kontrolovány v seznamu odvolaných certifikátů (CRL).

Výstraha

Jakmile se načte vzdálený obrázek, CheckCertificateRevocationList změní se na true dobu životnosti aplikace. Pokud je to potřeba, můžete se vrátit zpět false ručně, ale jakmile se načte jiný vzdálený obrázek, CheckCertificateRevocationList je nastaven na truehodnotu .

Dříve fungující vzdálený prostředek se nemusí načíst, pokud je seznam CRL místně uložený v mezipaměti zastaralý a aktualizace se nedá načíst. K tomu může dojít, když je síť, na které je aplikace spuštěná, omezena a umístění seznamu CRL není na seznamu povolených.

Je také možné, že zpoždění při kontrole seznamu CRL negativně ovlivňuje schopnost aplikace fungovat.

Toto chování můžete zrušit nastavením System.Windows.Forms.ServicePointManagerCheckCrl možnosti aplikace jedním z následujících způsobů:

  • Nastavte vlastnost do falsekonfiguračního souboru [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Přidejte položku do souboru projektu a zakažte ji:

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" />
    </ItemGroup>
    

Platí pro

LoadAsync()

Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs
Zdroj:
PictureBox.cs

Načte image asynchronně.

public:
 void LoadAsync();
public void LoadAsync();
member this.LoadAsync : unit -> unit
Public Sub LoadAsync ()

Poznámky

Kromě volání LoadAsync metody WaitOnLoad musí být vlastnost nastavena na false načtení image asynchronně. Při asynchronním načtení obrázku můžete událost zpracovat LoadProgressChanged , abyste zjistili průběh načtení obrázku nebo LoadCompleted událost, abyste zjistili, kdy se načtení image dokončilo.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Load().

Změny chování při načítání

Počínaje rozhraním .NET 8 se chování PictureBox ovládacího prvku načte ve vzdálené imagi. Ve výchozím nastavení System.Net.ServicePointManager.CheckCertificateRevocationList je vlastnost nastavena na true před stažením vzdáleného obrázku prostřednictvím WebClient. Toto nastavení zajistí, že servery s certifikáty budou mít tyto certifikáty v rámci procesu ověření kontrolovány v seznamu odvolaných certifikátů (CRL).

Výstraha

Jakmile se načte vzdálený obrázek, CheckCertificateRevocationList změní se na true dobu životnosti aplikace. Pokud je to potřeba, můžete se vrátit zpět false ručně, ale jakmile se načte jiný vzdálený obrázek, CheckCertificateRevocationList je nastaven na truehodnotu .

Dříve fungující vzdálený prostředek se nemusí načíst, pokud je seznam CRL místně uložený v mezipaměti zastaralý a aktualizace se nedá načíst. K tomu může dojít, když je síť, na které je aplikace spuštěná, omezena a umístění seznamu CRL není na seznamu povolených.

Je také možné, že zpoždění při kontrole seznamu CRL negativně ovlivňuje schopnost aplikace fungovat.

Toto chování můžete zrušit nastavením System.Windows.Forms.ServicePointManagerCheckCrl možnosti aplikace jedním z následujících způsobů:

  • Nastavte vlastnost do falsekonfiguračního souboru [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Přidejte položku do souboru projektu a zakažte ji:

    <ItemGroup>
      <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" />
    </ItemGroup>
    

Platí pro