PictureBox.LoadAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Carica l'immagine in modo asincrono.
Overload
| Nome | Descrizione |
|---|---|
| LoadAsync(String) |
Carica l'immagine nella posizione specificata, in modo asincrono. |
| LoadAsync() |
Carica l'immagine in modo asincrono. |
LoadAsync(String)
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
Carica l'immagine nella posizione specificata, in modo asincrono.
public:
void LoadAsync(System::String ^ url);
public void LoadAsync(string url);
member this.LoadAsync : string -> unit
Public Sub LoadAsync (url As String)
Parametri
- url
- String
Percorso dell'immagine da visualizzare in PictureBox.
Esempio
Nell'esempio di codice seguente viene illustrato come usare il LoadAsync metodo . Per eseguire questo esempio, incollare il codice seguente in un Windows Form contenente un PictureBox oggetto denominato pictureBox1 e un Button denominato startLoadButton. Assicurarsi che l'evento Click per il pulsante sia associato al startLoadButton_Click metodo in questo esempio. È necessario modificare il percorso del file di immagine in un percorso valido nel sistema.
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
Commenti
Se il url parametro indica un file locale, il formato consigliato è un percorso di file locale. Ad esempio, è possibile accedere a un file di immagine denominato myPicture.jpg che si trova in c:\ passando c:\myPicture.jpg per il url parametro . È possibile usare un percorso completo, ad esempio http://www.contoso.com/path/images/image.jpg, o un percorso relativo, ad esempio ./images/image.jpg. Se viene usato un percorso relativo, verrà considerato relativo alla directory di lavoro. Una chiamata al Load metodo imposta la ImageLocation proprietà sul valore del url parametro .
Una chiamata al LoadAsync metodo imposta la ImageLocation proprietà sul valore di url. Oltre a chiamare il LoadAsync metodo, è necessario impostare la WaitOnLoad proprietà su false per caricare un'immagine in modo asincrono. Quando si carica un'immagine in modo asincrono, è possibile gestire l'evento LoadProgressChanged per determinare lo stato di avanzamento di un caricamento di un'immagine o l'evento LoadCompleted per determinare quando è stato completato il caricamento di un'immagine. Se si verifica un errore durante un'operazione di caricamento asincrono dell'immagine, verrà intercettata e segnalata dalla Error proprietà di AsyncCompletedEventArgs.
Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Load(String).
Modifiche al comportamento di caricamento
A partire da .NET 8, il comportamento del modo in cui un PictureBox controllo carica un'immagine remota è cambiata. Per impostazione predefinita, la proprietà viene impostata su prima che System.Net.ServicePointManager.CheckCertificateRevocationList venga scaricata un'immagine remota tramite WebClient.true Questa impostazione garantisce che i server con certificati abbiano tali certificati controllati rispetto all'elenco di revoche di autorità di certificazione (CRL) come parte del processo di convalida.
Avviso
Non appena viene caricata un'immagine remota, CheckCertificateRevocationList viene modificata true in per la durata dell'app. È possibile ripristinare false manualmente se necessario, ma non appena viene caricata un'altra immagine remota, CheckCertificateRevocationList è impostata su true.
Una risorsa remota funzionante in precedenza potrebbe non essere caricata quando il CRL memorizzato nella cache locale non è aggiornato e non è possibile recuperare un aggiornamento. Questo problema può verificarsi quando la rete in cui è in esecuzione l'app è limitata e il percorso CRL non è presente nell'elenco consenti.
È anche possibile che il ritardo nel controllo della CRL influisca negativamente sulla capacità dell'app di funzionare.
Puoi rifiutare esplicitamente questo comportamento impostando l'opzione System.Windows.Forms.ServicePointManagerCheckCrl per l'app, in uno dei modi seguenti:
Impostare la proprietà su
falsenel file di configurazione [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Aggiungere un
<RuntimeHostConfigurationOption>elemento nel file di progetto per disabilitarlo:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
Si applica a
LoadAsync()
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
- Origine:
- PictureBox.cs
Carica l'immagine in modo asincrono.
public:
void LoadAsync();
public void LoadAsync();
member this.LoadAsync : unit -> unit
Public Sub LoadAsync ()
Commenti
Oltre a chiamare il LoadAsync metodo , la WaitOnLoad proprietà deve essere impostata su false per caricare un'immagine in modo asincrono. Quando si carica un'immagine in modo asincrono, è possibile gestire l'evento LoadProgressChanged per determinare lo stato di avanzamento di un caricamento di un'immagine o l'evento LoadCompleted per determinare quando è stato completato il caricamento di un'immagine.
Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Load().
Modifiche al comportamento di caricamento
A partire da .NET 8, il comportamento del modo in cui un PictureBox controllo carica un'immagine remota è cambiata. Per impostazione predefinita, la proprietà viene impostata su prima che System.Net.ServicePointManager.CheckCertificateRevocationList venga scaricata un'immagine remota tramite WebClient.true Questa impostazione garantisce che i server con certificati abbiano tali certificati controllati rispetto all'elenco di revoche di autorità di certificazione (CRL) come parte del processo di convalida.
Avviso
Non appena viene caricata un'immagine remota, CheckCertificateRevocationList viene modificata true in per la durata dell'app. È possibile ripristinare false manualmente se necessario, ma non appena viene caricata un'altra immagine remota, CheckCertificateRevocationList è impostata su true.
Una risorsa remota funzionante in precedenza potrebbe non essere caricata quando il CRL memorizzato nella cache locale non è aggiornato e non è possibile recuperare un aggiornamento. Questo problema può verificarsi quando la rete in cui è in esecuzione l'app è limitata e il percorso CRL non è presente nell'elenco consenti.
È anche possibile che il ritardo nel controllo della CRL influisca negativamente sulla capacità dell'app di funzionare.
Puoi rifiutare esplicitamente questo comportamento impostando l'opzione System.Windows.Forms.ServicePointManagerCheckCrl per l'app, in uno dei modi seguenti:
Impostare la proprietà su
falsenel file di configurazione [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Aggiungere un
<RuntimeHostConfigurationOption>elemento nel file di progetto per disabilitarlo:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>