Freigeben über


PictureBox.LoadAsync Methode

Definition

Lädt das Bild asynchron.

Überlädt

Name Beschreibung
LoadAsync(String)

Lädt das Bild an der angegebenen Position asynchron.

LoadAsync()

Lädt das Bild asynchron.

LoadAsync(String)

Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs

Lädt das Bild an der angegebenen Position asynchron.

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

Parameter

url
String

Der Pfad für das Bild, das in der PictureBoxAbbildung angezeigt werden soll.

Beispiele

Im folgenden Codebeispiel wird die Verwendung der LoadAsync Methode veranschaulicht. Zum Ausführen dieses Beispiels fügen Sie den folgenden Code in ein Windows Form-Formular ein, das einen PictureBox benannten pictureBox1 und einen Button Benannten startLoadButtonenthält. Stellen Sie sicher, dass das Click Ereignis für die Schaltfläche der startLoadButton_Click Methode in diesem Beispiel zugeordnet ist. Sie müssen den Pfad der Bilddatei in einen Pfad ändern, der auf Ihrem System gültig ist.

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

Hinweise

Wenn der url Parameter eine lokale Datei angibt, ist das empfohlene Format ein lokaler Dateipfad. Auf eine Bilddatei mit dem Namen myPicture.jpg unter "c:\" wird beispielsweise durch Übergeben c:\myPicture.jpg des url Parameters zugegriffen. Ein vollständiger Pfad, z http://www.contoso.com/path/images/image.jpg. B. ein relativer Pfad, z. B. ./images/image.jpg, kann verwendet werden. Wenn ein relativer Pfad verwendet wird, wird er relativ zum Arbeitsverzeichnis betrachtet. Ein Aufruf der Load Methode legt die ImageLocation Eigenschaft auf den Wert des url Parameters fest.

Ein Aufruf der LoadAsync Methode legt die ImageLocation Eigenschaft auf den Wert von url. Neben dem Aufrufen der LoadAsync Methode müssen Sie die WaitOnLoad Eigenschaft so festlegen, dass false ein Bild asynchron geladen wird. Wenn Sie ein Bild asynchron laden, können Sie das LoadProgressChanged Ereignis behandeln, um den Fortschritt eines Bildladevorgangs oder das LoadCompleted Ereignis zu bestimmen, um zu bestimmen, wann eine Bildladevorgang abgeschlossen ist. Wenn während eines asynchronen Bildladevorgangs ein Fehler auftritt, wird er abgefangen und von der Error Eigenschaft der AsyncCompletedEventArgs.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von Load(String).

Änderungen des Ladeverhaltens

Ab .NET 8 ändert sich das Verhalten, wie ein PictureBox Steuerelement ein Remoteimage lädt. Standardmäßig wird die System.Net.ServicePointManager.CheckCertificateRevocationList Eigenschaft so true festgelegt, dass ein Remotebild über WebClientdie Datei heruntergeladen wird. Diese Einstellung stellt sicher, dass Server mit Zertifikaten diese Zertifikate im Rahmen des Überprüfungsprozesses auf die Sperrliste der Zertifizierungsstelle überprüft haben.

Warnung

Sobald ein Remoteimage geladen wird, CheckCertificateRevocationList wird für die Lebensdauer der App in true "Geändert". Sie können bei Bedarf wieder manuell false zurückkehren, aber sobald ein weiteres Remoteimage geladen wird, CheckCertificateRevocationList auf true.

Eine zuvor funktionierende Remoteressource kann nicht geladen werden, wenn die lokal zwischengespeicherte CRL veraltet ist und ein Update nicht abgerufen werden kann. Dies kann passieren, wenn das Netzwerk, auf dem die App ausgeführt wird, eingeschränkt ist und der CRL-Speicherort nicht in der Zulassungsliste enthalten ist.

Es ist auch möglich, dass sich die Verzögerung bei der Überprüfung der CRL negativ auf die Funktionsfähigkeit der App auswirkt.

Sie können dieses Verhalten deaktivieren, indem Sie die System.Windows.Forms.ServicePointManagerCheckCrl Option für die App auf eine der folgenden Arten festlegen:

  • Legen Sie die Eigenschaft in der [app].runtimeconfig.json Konfigurationsdatei festfalse:

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Fügen Sie ein <RuntimeHostConfigurationOption> Element in der Projektdatei hinzu, um es zu deaktivieren:

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

Gilt für:

LoadAsync()

Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs
Quelle:
PictureBox.cs

Lädt das Bild asynchron.

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

Hinweise

Neben dem Aufrufen der LoadAsync Methode muss die WaitOnLoad Eigenschaft so festgelegt werden, dass false ein Bild asynchron geladen wird. Wenn Sie ein Bild asynchron laden, können Sie das LoadProgressChanged Ereignis behandeln, um den Fortschritt eines Bildladevorgangs oder das LoadCompleted Ereignis zu bestimmen, um zu bestimmen, wann eine Bildladevorgang abgeschlossen ist.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von Load().

Änderungen des Ladeverhaltens

Ab .NET 8 ändert sich das Verhalten, wie ein PictureBox Steuerelement ein Remoteimage lädt. Standardmäßig wird die System.Net.ServicePointManager.CheckCertificateRevocationList Eigenschaft so true festgelegt, dass ein Remotebild über WebClientdie Datei heruntergeladen wird. Diese Einstellung stellt sicher, dass Server mit Zertifikaten diese Zertifikate im Rahmen des Überprüfungsprozesses auf die Sperrliste der Zertifizierungsstelle überprüft haben.

Warnung

Sobald ein Remoteimage geladen wird, CheckCertificateRevocationList wird für die Lebensdauer der App in true "Geändert". Sie können bei Bedarf wieder manuell false zurückkehren, aber sobald ein weiteres Remoteimage geladen wird, CheckCertificateRevocationList auf true.

Eine zuvor funktionierende Remoteressource kann nicht geladen werden, wenn die lokal zwischengespeicherte CRL veraltet ist und ein Update nicht abgerufen werden kann. Dies kann passieren, wenn das Netzwerk, auf dem die App ausgeführt wird, eingeschränkt ist und der CRL-Speicherort nicht in der Zulassungsliste enthalten ist.

Es ist auch möglich, dass sich die Verzögerung bei der Überprüfung der CRL negativ auf die Funktionsfähigkeit der App auswirkt.

Sie können dieses Verhalten deaktivieren, indem Sie die System.Windows.Forms.ServicePointManagerCheckCrl Option für die App auf eine der folgenden Arten festlegen:

  • Legen Sie die Eigenschaft in der [app].runtimeconfig.json Konfigurationsdatei festfalse:

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Fügen Sie ein <RuntimeHostConfigurationOption> Element in der Projektdatei hinzu, um es zu deaktivieren:

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

Gilt für: