PictureBox.LoadAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Charge l'image de manière asynchrone.
Surcharges
LoadAsync(String) |
Charge l'image à l'emplacement spécifié, de façon asynchrone. |
LoadAsync() |
Charge l'image de manière asynchrone. |
LoadAsync(String)
Charge l'image à l'emplacement spécifié, de façon 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 PictureBox.
Exemples
L'exemple de code suivant illustre l'utilisation de la méthode LoadAsync. Pour exécuter cet exemple, collez le code suivant dans un Windows Form qui contient un PictureBox nommé 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 remplacer le chemin du fichier image par 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 au fichier local. Par exemple, un fichier image nommé myPicture.jpg situé à l’emplacement 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 relatif est utilisé, il est considéré comme relatif au répertoire de travail. Un appel à la Load méthode affecte à la ImageLocation propriété la valeur du url
paramètre .
Un appel à la LoadAsync méthode affecte à la ImageLocation propriété la valeur de url
. Outre l’appel de la LoadAsync méthode, vous devez définir la propriété sur WaitOnLoadfalse
pour charger une image de façon 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 un chargement d’image est terminé. 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 de non-utilisation que le é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 manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Load(String).
Changements de comportement de chargement
À compter de .NET 8, le comportement du chargement d’une image distante par un PictureBox
contrôle a changé. Par défaut, la System.Net.ServicePointManager.CheckCertificateRevocationList propriété est définie sur true
avant le téléchargement d’une image distante via WebClient. Ce paramètre garantit que les serveurs avec des certificats ont 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
est remplacé par true
pour la durée de vie de l’application. Vous pouvez revenir à false
manuellement si nécessaire, mais dès qu’une autre image distante est chargée, CheckCertificateRevocationList
est défini sur true
.
Le chargement d’une ressource distante précédemment opérationnelle peut échouer lorsque la liste de révocation de certificats mise 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 ne figure pas dans la liste d’autorisation.
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 refuser ce comportement en définissant l’option System.Windows.Forms.ServicePointManagerCheckCrl
pour l’application, de l’une des manières suivantes :
Définissez la propriété
false
sur 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()
Charge l'image de manière 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 sur false
pour charger une image de façon 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 un chargement d’image est terminé.
Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le é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 manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par Load().
Changements de comportement de chargement
À compter de .NET 8, le comportement du chargement d’une image distante par un PictureBox
contrôle a changé. Par défaut, la System.Net.ServicePointManager.CheckCertificateRevocationList propriété est définie sur true
avant le téléchargement d’une image distante via WebClient. Ce paramètre garantit que les serveurs avec des certificats ont 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
est remplacé par true
pour la durée de vie de l’application. Vous pouvez revenir à false
manuellement si nécessaire, mais dès qu’une autre image distante est chargée, CheckCertificateRevocationList
est défini sur true
.
Le chargement d’une ressource distante précédemment opérationnelle peut échouer lorsque la liste de révocation de certificats mise 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 ne figure pas dans la liste d’autorisation.
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 refuser ce comportement en définissant l’option System.Windows.Forms.ServicePointManagerCheckCrl
pour l’application, de l’une des manières suivantes :
Définissez la propriété
false
sur 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>