PictureBox.LoadAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Carrega a imagem de forma assíncrona.
Sobrecargas
| Name | Description |
|---|---|
| LoadAsync(String) |
Carrega a imagem no local especificado, de forma assíncrona. |
| LoadAsync() |
Carrega a imagem de forma assíncrona. |
LoadAsync(String)
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
Carrega a imagem no local especificado, de forma assíncrona.
public:
void LoadAsync(System::String ^ url);
public void LoadAsync(string url);
member this.LoadAsync : string -> unit
Public Sub LoadAsync (url As String)
Parâmetros
- url
- String
O caminho para a imagem ser exibida no PictureBox.
Exemplos
O exemplo de código seguinte demonstra como usar o LoadAsync método. Para executar este exemplo, cole o seguinte código num formulário Windows que contenha um PictureBox chamado pictureBox1 e um Button chamado startLoadButton. Certifique-se de que o Click evento do botão está associado ao startLoadButton_Click método neste exemplo. Deve alterar o caminho do ficheiro de imagem para um caminho válido no seu 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
Observações
Se o url parâmetro indicar um ficheiro local, o formato recomendado é um caminho de ficheiro local. Por exemplo, um ficheiro de imagem chamado myPicture.jpg localizado em c:\ seria acedido passando c:\myPicture.jpg pelo url parâmetro. Um caminho completo, como http://www.contoso.com/path/images/image.jpg, ou um caminho relativo, como ./images/image.jpg, pode ser utilizado. Se for usado um caminho relativo, será considerado relativo ao diretório de trabalho. Uma chamada ao Load método define a ImageLocation propriedade para o valor do url parâmetro.
Uma chamada ao LoadAsync método define a ImageLocation propriedade para o valor de url. Além de chamar o LoadAsync método, deve definir a WaitOnLoad propriedade para false carregar uma imagem de forma assíncrona. Quando carrega uma imagem de forma assíncrona, pode gerir o LoadProgressChanged evento para determinar o progresso de uma carga de imagem ou o LoadCompleted evento para determinar quando a carga da imagem foi concluída. Se ocorrer um erro durante uma operação de carregamento de imagem assíncrona, será detetado e reportado pela Error propriedade do AsyncCompletedEventArgs.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Load(String).
Alterações no comportamento da carga
A partir do .NET 8, o comportamento de como um controlo PictureBox carrega uma imagem remota mudou. Por defeito, a System.Net.ServicePointManager.CheckCertificateRevocationList propriedade é definida para true antes de uma imagem remota ser descarregada através WebClientde . Esta configuração garante que os servidores com certificados têm esses certificados verificados em relação à lista de revogação da autoridade certificadora (CRL) como parte do processo de validação.
Warning
Assim que uma imagem remota é carregada, CheckCertificateRevocationList é alterada para true durante a vida útil da aplicação. Pode voltar ao false manual se necessário, mas assim que outra imagem remota for carregada, CheckCertificateRevocationList está definida para true.
Um recurso remoto a funcionar anteriormente pode falhar ao carregar quando o CRL em cache local está desatualizado e uma atualização não pode ser recuperada. Isto pode acontecer quando a rede onde a aplicação está a correr está restrita e a localização CRL não está na lista de permissões.
Também é possível que o atraso na verificação do CRL afete negativamente a capacidade da aplicação de funcionar.
Pode optar por não participar neste comportamento definindo a opção System.Windows.Forms.ServicePointManagerCheckCrl para a aplicação, de uma das seguintes formas:
Defina a propriedade como
falseno ficheiro de configuração da [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Adicione um
<RuntimeHostConfigurationOption>item no ficheiro do projeto para o desativar:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
Aplica-se a
LoadAsync()
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
- Origem:
- PictureBox.cs
Carrega a imagem de forma assíncrona.
public:
void LoadAsync();
public void LoadAsync();
member this.LoadAsync : unit -> unit
Public Sub LoadAsync ()
Observações
Além de chamar o LoadAsync método, a WaitOnLoad propriedade deve ser definida para false carregar uma imagem de forma assíncrona. Quando carrega uma imagem de forma assíncrona, pode gerir o LoadProgressChanged evento para determinar o progresso de uma carga de imagem ou o LoadCompleted evento para determinar quando a carga da imagem foi concluída.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Load().
Alterações no comportamento da carga
A partir do .NET 8, o comportamento de como um controlo PictureBox carrega uma imagem remota mudou. Por defeito, a System.Net.ServicePointManager.CheckCertificateRevocationList propriedade é definida para true antes de uma imagem remota ser descarregada através WebClientde . Esta configuração garante que os servidores com certificados têm esses certificados verificados em relação à lista de revogação da autoridade certificadora (CRL) como parte do processo de validação.
Warning
Assim que uma imagem remota é carregada, CheckCertificateRevocationList é alterada para true durante a vida útil da aplicação. Pode voltar ao false manual se necessário, mas assim que outra imagem remota for carregada, CheckCertificateRevocationList está definida para true.
Um recurso remoto a funcionar anteriormente pode falhar ao carregar quando o CRL em cache local está desatualizado e uma atualização não pode ser recuperada. Isto pode acontecer quando a rede onde a aplicação está a correr está restrita e a localização CRL não está na lista de permissões.
Também é possível que o atraso na verificação do CRL afete negativamente a capacidade da aplicação de funcionar.
Pode optar por não participar neste comportamento definindo a opção System.Windows.Forms.ServicePointManagerCheckCrl para a aplicação, de uma das seguintes formas:
Defina a propriedade como
falseno ficheiro de configuração da [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }Adicione um
<RuntimeHostConfigurationOption>item no ficheiro do projeto para o desativar:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>