Bagikan melalui


PictureBox.LoadAsync Metode

Definisi

Memuat gambar secara asinkron.

Overload

LoadAsync(String)

Memuat gambar di lokasi yang ditentukan, secara asinkron.

LoadAsync()

Memuat gambar secara asinkron.

LoadAsync(String)

Memuat gambar di lokasi yang ditentukan, secara asinkron.

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

Parameter

url
String

Jalur untuk gambar yang ditampilkan di PictureBox.

Contoh

Contoh kode berikut menunjukkan cara menggunakan LoadAsync metode . Untuk menjalankan contoh ini, tempelkan kode berikut ke dalam Formulir Windows yang berisi PictureBox bernama pictureBox1 dan bernama ButtonstartLoadButton. Pastikan bahwa Click peristiwa untuk tombol dikaitkan dengan startLoadButton_Click metode dalam contoh ini. Anda harus mengubah jalur file gambar ke jalur yang valid pada sistem Anda.

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

Keterangan

url Jika parameter menunjukkan file lokal, format yang disarankan adalah jalur file lokal. Misalnya, file gambar bernama myPicture.jpg yang terletak di c:\ akan diakses dengan meneruskan c:\myPicture.jpgurl parameter . Jalur lengkap, seperti http://www.contoso.com/path/images/image.jpg, atau jalur relatif, seperti ./images/image.jpg, dapat digunakan. Jika jalur relatif digunakan, jalur tersebut akan dianggap relatif terhadap direktori kerja. Panggilan ke Load metode mengatur ImageLocation properti ke nilai url parameter.

Panggilan ke LoadAsync metode mengatur ImageLocation properti ke nilai url. Selain memanggil LoadAsync metode , Anda harus mengatur WaitOnLoad properti ke false untuk memuat gambar secara asinkron. Saat memuat gambar secara asinkron, Anda dapat menangani LoadProgressChanged peristiwa untuk menentukan kemajuan beban gambar atau LoadCompleted peristiwa untuk menentukan kapan beban gambar telah selesai. Jika terjadi kesalahan selama operasi pemuatan gambar asinkron, itu akan ditangkap dan dilaporkan oleh Error properti dari AsyncCompletedEventArgs.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load(String).

Perubahan perilaku beban

Dimulai dengan .NET 8, perilaku bagaimana PictureBox kontrol memuat gambar jarak jauh berubah. Secara default, System.Net.ServicePointManager.CheckCertificateRevocationList properti diatur ke true sebelum gambar jarak jauh diunduh melalui WebClient. Pengaturan ini memastikan bahwa server dengan sertifikat memiliki sertifikat yang diperiksa terhadap daftar pencabutan otoritas sertifikat (CRL) sebagai bagian dari proses validasi.

Peringatan

Segera setelah gambar jarak jauh dimuat, CheckCertificateRevocationList diubah menjadi true untuk masa pakai aplikasi. Anda dapat kembali ke false secara manual jika diperlukan, tetapi segera setelah gambar jarak jauh lain dimuat, CheckCertificateRevocationList diatur ke true.

Sumber daya jarak jauh yang sebelumnya berfungsi mungkin gagal dimuat ketika CRL yang di-cache secara lokal sudah kedaluarsa dan pembaruan tidak dapat diambil. Ini dapat terjadi ketika jaringan tempat aplikasi berjalan dibatasi dan lokasi CRL tidak ada dalam daftar yang diizinkan.

Ada kemungkinan juga bahwa keterlambatan dalam memeriksa CRL secara negatif memengaruhi kemampuan aplikasi untuk berfungsi.

Anda dapat menolak perilaku ini dengan mengatur System.Windows.Forms.ServicePointManagerCheckCrl opsi untuk aplikasi, dengan salah satu cara berikut:

  • Atur properti ke false dalam file konfigurasi [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Tambahkan item dalam file proyek untuk menonaktifkannya:

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

Berlaku untuk

LoadAsync()

Memuat gambar secara asinkron.

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

Keterangan

Selain memanggil LoadAsync metode , WaitOnLoad properti harus diatur ke false untuk memuat gambar secara asinkron. Saat memuat gambar secara asinkron, Anda dapat menangani LoadProgressChanged peristiwa untuk menentukan kemajuan beban gambar atau LoadCompleted peristiwa untuk menentukan kapan beban gambar telah selesai.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Load().

Perubahan perilaku beban

Dimulai dengan .NET 8, perilaku bagaimana PictureBox kontrol memuat gambar jarak jauh berubah. Secara default, System.Net.ServicePointManager.CheckCertificateRevocationList properti diatur ke true sebelum gambar jarak jauh diunduh melalui WebClient. Pengaturan ini memastikan bahwa server dengan sertifikat memiliki sertifikat yang diperiksa terhadap daftar pencabutan otoritas sertifikat (CRL) sebagai bagian dari proses validasi.

Peringatan

Segera setelah gambar jarak jauh dimuat, CheckCertificateRevocationList diubah menjadi true untuk masa pakai aplikasi. Anda dapat kembali ke false secara manual jika diperlukan, tetapi segera setelah gambar jarak jauh lain dimuat, CheckCertificateRevocationList diatur ke true.

Sumber daya jarak jauh yang sebelumnya berfungsi mungkin gagal dimuat ketika CRL yang di-cache secara lokal sudah kedaluarsa dan pembaruan tidak dapat diambil. Ini dapat terjadi ketika jaringan tempat aplikasi berjalan dibatasi dan lokasi CRL tidak ada dalam daftar yang diizinkan.

Ada kemungkinan juga bahwa keterlambatan dalam memeriksa CRL secara negatif memengaruhi kemampuan aplikasi untuk berfungsi.

Anda dapat menolak perilaku ini dengan mengatur System.Windows.Forms.ServicePointManagerCheckCrl opsi untuk aplikasi, dengan salah satu cara berikut:

  • Atur properti ke false dalam file konfigurasi [app].runtimeconfig.json :

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • <RuntimeHostConfigurationOption> Tambahkan item dalam file proyek untuk menonaktifkannya:

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

Berlaku untuk