Partager via


PictureBox.LoadAsync Méthode

Définition

Charge l’image de façon asynchrone.

Surcharges

Nom Description
LoadAsync(String)

Charge l’image à l’emplacement spécifié de manière asynchrone.

LoadAsync()

Charge l’image de façon asynchrone.

LoadAsync(String)

Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs

Charge l’image à l’emplacement spécifié de manière asynchrone.

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

Paramètres

url
String

Chemin d’accès de l’image à afficher dans le PictureBox.

Exemples

L’exemple de code suivant montre comment utiliser la LoadAsync méthode. Pour exécuter cet exemple, collez le code suivant dans un Windows Form qui contient un PictureBox nom pictureBox1 et un Button nommé startLoadButton. Vérifiez que l’événement Click du bouton est associé à la startLoadButton_Click méthode dans cet exemple. Vous devez modifier le chemin d’accès du fichier image à un chemin d’accès valide sur votre système.

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

Remarques

Si le url paramètre indique un fichier local, le format recommandé est un chemin d’accès de fichier local. Par exemple, un fichier image nommé myPicture.jpg situé à c :\ est accessible en passant c:\myPicture.jpg pour le url paramètre. Un chemin d’accès complet, tel que http://www.contoso.com/path/images/image.jpg, ou un chemin relatif, tel que ./images/image.jpg, peut être utilisé. Si un chemin d’accès relatif est utilisé, il est considéré par rapport au répertoire de travail. Un appel à la Load méthode définit la ImageLocation propriété sur la valeur du url paramètre.

Un appel à la LoadAsync méthode définit la ImageLocation propriété sur la valeur de url. Outre l’appel de la LoadAsync méthode, vous devez définir la WaitOnLoad propriété pour false charger une image de manière asynchrone. Lorsque vous chargez une image de façon asynchrone, vous pouvez gérer l’événement LoadProgressChanged pour déterminer la progression d’un chargement d’image ou l’événement LoadCompleted pour déterminer quand une charge d’image est terminée. Si une erreur se produit pendant une opération de chargement d’image asynchrone, elle est interceptée et signalée par la Error propriété du AsyncCompletedEventArgs.

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par Load(String).

Modifications du comportement de chargement

À compter de .NET 8, le comportement d’un PictureBox contrôle charge une image distante modifiée. Par défaut, la System.Net.ServicePointManager.CheckCertificateRevocationList propriété est définie true avant le téléchargement d’une image distante via WebClient. Ce paramètre garantit que les serveurs avec certificats disposent de ces certificats vérifiés par rapport à la liste de révocation des autorités de certification (CRL) dans le cadre du processus de validation.

Avertissement

Dès qu’une image distante est chargée, CheckCertificateRevocationList elle est modifiée true pour la durée de vie de l’application. Vous pouvez revenir manuellement si false nécessaire, mais dès qu’une autre image distante est chargée, CheckCertificateRevocationList elle est définie sur true.

Une ressource distante précédemment opérationnelle peut ne pas être chargée lorsque la liste de révocation de certificats mis en cache localement est obsolète et qu’une mise à jour ne peut pas être récupérée. Cela peut se produire lorsque le réseau sur lequel l’application s’exécute est restreint et que l’emplacement de la liste de révocation de certificats n’est pas sur la liste verte.

Il est également possible que le délai de vérification de la liste de révocation de certificats affecte négativement la capacité de l’application à fonctionner.

Vous pouvez désactiver ce comportement en définissant l’option System.Windows.Forms.ServicePointManagerCheckCrl de l’application de l’une des manières suivantes :

  • Définissez la propriété false dans le fichier de configuration [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Ajoutez un <RuntimeHostConfigurationOption> élément dans le fichier projet pour le désactiver :

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

S’applique à

LoadAsync()

Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs
Source:
PictureBox.cs

Charge l’image de façon asynchrone.

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

Remarques

Outre l’appel de la LoadAsync méthode, la WaitOnLoad propriété doit être définie pour false charger une image de manière asynchrone. Lorsque vous chargez une image de façon asynchrone, vous pouvez gérer l’événement LoadProgressChanged pour déterminer la progression d’un chargement d’image ou l’événement LoadCompleted pour déterminer quand une charge d’image est terminée.

Cette méthode stocke dans la tâche toutes les exceptions non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de façon synchrone. Pour les exceptions stockées, consultez les exceptions levées par Load().

Modifications du comportement de chargement

À compter de .NET 8, le comportement d’un PictureBox contrôle charge une image distante modifiée. Par défaut, la System.Net.ServicePointManager.CheckCertificateRevocationList propriété est définie true avant le téléchargement d’une image distante via WebClient. Ce paramètre garantit que les serveurs avec certificats disposent de ces certificats vérifiés par rapport à la liste de révocation des autorités de certification (CRL) dans le cadre du processus de validation.

Avertissement

Dès qu’une image distante est chargée, CheckCertificateRevocationList elle est modifiée true pour la durée de vie de l’application. Vous pouvez revenir manuellement si false nécessaire, mais dès qu’une autre image distante est chargée, CheckCertificateRevocationList elle est définie sur true.

Une ressource distante précédemment opérationnelle peut ne pas être chargée lorsque la liste de révocation de certificats mis en cache localement est obsolète et qu’une mise à jour ne peut pas être récupérée. Cela peut se produire lorsque le réseau sur lequel l’application s’exécute est restreint et que l’emplacement de la liste de révocation de certificats n’est pas sur la liste verte.

Il est également possible que le délai de vérification de la liste de révocation de certificats affecte négativement la capacité de l’application à fonctionner.

Vous pouvez désactiver ce comportement en définissant l’option System.Windows.Forms.ServicePointManagerCheckCrl de l’application de l’une des manières suivantes :

  • Définissez la propriété false dans le fichier de configuration [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Ajoutez un <RuntimeHostConfigurationOption> élément dans le fichier projet pour le désactiver :

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

S’applique à