Поделиться через


PictureBox.LoadAsync Метод

Определение

Загружает образ асинхронно.

Перегрузки

Имя Описание
LoadAsync(String)

Загружает изображение в указанном расположении асинхронно.

LoadAsync()

Загружает образ асинхронно.

LoadAsync(String)

Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs

Загружает изображение в указанном расположении асинхронно.

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

Параметры

url
String

Путь к изображению, отображаемого в элементе PictureBox.

Примеры

В следующем примере кода показано, как использовать LoadAsync метод. Чтобы запустить этот пример, вставьте следующий код в форму Windows Form, содержащую PictureBox именованный pictureBox1 и именованный ButtonstartLoadButtonкод. Убедитесь, что Click событие для кнопки связано с методом startLoadButton_Click в этом примере. Необходимо изменить путь к файлу изображения на путь, допустимый в системе.

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

Комментарии

url Если параметр указывает локальный файл, рекомендуемый формат — это локальный путь к файлу. Например, к файлу изображения с именемmyPicture.jpg , расположенному в c:\ , будет предоставлен доступ путем передачи c:\myPicture.jpgurl параметра. Можно использовать полный путь, например относительный путь, например http://www.contoso.com/path/images/image.jpg./images/image.jpg. Если используется относительный путь, он будет считаться относительным к рабочему каталогу. Вызов Load метода задает ImageLocation свойству значение url параметра.

Вызов LoadAsync метода задает ImageLocation свойству значение url. Помимо вызова LoadAsync метода, необходимо задать WaitOnLoad свойство для false асинхронной загрузки образа. При асинхронной загрузке образа можно обработать LoadProgressChanged событие, чтобы определить ход загрузки образа или LoadCompleted событие, чтобы определить, когда загрузка образа завершена. Если ошибка возникает во время асинхронной операции загрузки образа, она будет поймана и сообщается свойством Error объекта AsyncCompletedEventArgs.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Load(String).

Изменения в поведении загрузки

Начиная с .NET 8, поведение PictureBox элемента управления загружает удаленный образ. По умолчанию System.Net.ServicePointManager.CheckCertificateRevocationList свойство устанавливается true перед скачиванием WebClientудаленного образа. Этот параметр гарантирует, что серверы с сертификатами проверяют эти сертификаты в списке отзыва центра сертификации (CRL) в рамках процесса проверки.

Предупреждение

После загрузки CheckCertificateRevocationList удаленного образа изменится на true время существования приложения. При необходимости можно вернуться обратно false к вручную, но после загрузки CheckCertificateRevocationList другого удаленного образа установлено значение true.

Ранее работающий удаленный ресурс может не загружаться, если локально кэшированный список отзыва сертификатов устарел и обновление не может быть получено. Это может произойти, если сеть, в которую запущено приложение, ограничено, и расположение списка разрешений не находится в списке разрешений.

Кроме того, возможно, задержка при проверке списка отзыва сертификатов негативно влияет на способность приложения функционировать.

Вы можете отказаться от этого поведения, задав System.Windows.Forms.ServicePointManagerCheckCrl параметр для приложения одним из следующих способов:

  • Задайте для свойства false значение в файле конфигурации [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Добавьте элемент в файл проекта, чтобы отключить его:

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

Применяется к

LoadAsync()

Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs
Исходный код:
PictureBox.cs

Загружает образ асинхронно.

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

Комментарии

Помимо вызова LoadAsync метода, WaitOnLoad свойство должно быть установлено для false асинхронной загрузки образа. При асинхронной загрузке образа можно обработать LoadProgressChanged событие, чтобы определить ход загрузки образа или LoadCompleted событие, чтобы определить, когда загрузка образа завершена.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Load().

Изменения в поведении загрузки

Начиная с .NET 8, поведение PictureBox элемента управления загружает удаленный образ. По умолчанию System.Net.ServicePointManager.CheckCertificateRevocationList свойство устанавливается true перед скачиванием WebClientудаленного образа. Этот параметр гарантирует, что серверы с сертификатами проверяют эти сертификаты в списке отзыва центра сертификации (CRL) в рамках процесса проверки.

Предупреждение

После загрузки CheckCertificateRevocationList удаленного образа изменится на true время существования приложения. При необходимости можно вернуться обратно false к вручную, но после загрузки CheckCertificateRevocationList другого удаленного образа установлено значение true.

Ранее работающий удаленный ресурс может не загружаться, если локально кэшированный список отзыва сертификатов устарел и обновление не может быть получено. Это может произойти, если сеть, в которую запущено приложение, ограничено, и расположение списка разрешений не находится в списке разрешений.

Кроме того, возможно, задержка при проверке списка отзыва сертификатов негативно влияет на способность приложения функционировать.

Вы можете отказаться от этого поведения, задав System.Windows.Forms.ServicePointManagerCheckCrl параметр для приложения одним из следующих способов:

  • Задайте для свойства false значение в файле конфигурации [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Добавьте элемент в файл проекта, чтобы отключить его:

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

Применяется к