PictureBox.LoadAsync Yöntem

Tanım

Görüntüyü zaman uyumsuz olarak yükler.

Aşırı Yüklemeler

LoadAsync(String)

Görüntüyü belirtilen konuma zaman uyumsuz olarak yükler.

LoadAsync()

Görüntüyü zaman uyumsuz olarak yükler.

LoadAsync(String)

Görüntüyü belirtilen konuma zaman uyumsuz olarak yükler.

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

Parametreler

url
String

Görüntünün içinde PictureBoxgörüntüleneceği yol.

Örnekler

Aşağıdaki kod örneğinde yönteminin nasıl kullanılacağı gösterilmektedir LoadAsync . Bu örneği çalıştırmak için, aşağıdaki kodu adlandırılmış ve Button adlandırılmış pictureBox1startLoadButtonbir içeren bir PictureBox Windows Formuna yapıştırın. Düğme olayının Click bu örnekteki yöntemiyle ilişkilendirildiğinden startLoadButton_Click emin olun. Görüntü dosyası yolunu sisteminizde geçerli olan bir yola değiştirmeniz gerekir.

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

Açıklamalar

url Parametresi yerel bir dosyayı gösteriyorsa, önerilen biçim yerel bir dosya yoludur. Örneğin, c:\ konumunda bulunan myPicture.jpg adlı bir görüntü dosyasına parametresi geçirilerek c:\myPicture.jpgurl erişilebilir. gibi http://www.contoso.com/path/images/image.jpgtam bir yol veya ./images/image.jpggibi göreli bir yol kullanılabilir. Göreli yol kullanılırsa, çalışma dizinine göre kabul edilir. yöntemine yapılan Load bir çağrı, özelliğini parametresinin url değerine ayarlarImageLocation.

yöntemine yapılan LoadAsync bir çağrı, özelliğini değerine urlayarlarImageLocation. yöntemini çağırmanın LoadAsync yanı sıra, bir görüntüyü zaman uyumsuz olarak yüklemek için özelliğini false olarak ayarlamanız WaitOnLoad gerekir. Bir görüntüyü zaman uyumsuz olarak yüklediğinizde, bir görüntü yükünün LoadProgressChanged ilerleme durumunu belirlemek için olayı veya LoadCompleted bir görüntü yükünün ne zaman tamamlandığını belirlemek için olayı işleyebilirsiniz. Zaman uyumsuz görüntü yükleme işlemi sırasında bir hata oluşursa, bu hata yakalanacak ve özelliği AsyncCompletedEventArgstarafından Error bildirilecektir.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Load(String)özel durumlara bakın.

Yük davranışı değişiklikleri

.NET 8'den başlayarak, bir PictureBox denetimin uzak görüntüyü yükleme davranışı değişti. Özelliği varsayılan olarak, System.Net.ServicePointManager.CheckCertificateRevocationList uzak görüntü aracılığıyla WebClientindirilmeden önce olarak ayarlanırtrue. Bu ayar, sertifikalara sahip sunucuların bu sertifikaları doğrulama işleminin bir parçası olarak sertifika yetkilisi iptal listesine (CRL) karşı denetlemesini sağlar.

Uyarı

Uzak görüntü yüklenir yüklenmez, CheckCertificateRevocationList uygulamanın ömrü boyunca olarak değiştirilir true . Gerekirse el ile geri dönebilirsiniz false , ancak başka bir uzak görüntü yüklenir yüklenmez olarak CheckCertificateRevocationList ayarlanır true.

Yerel olarak önbelleğe alınan CRL güncel olmadığında ve bir güncelleştirme alınamayınca daha önce çalışan bir uzak kaynak yüklenemeyebilir. Uygulamanın üzerinde çalıştığı ağ kısıtlandığında ve CRL konumu izin verilenler listesinde olmadığında bu durum oluşabilir.

CRL'nin denetlenmesindeki gecikmenin uygulamanın çalışma becerisini olumsuz etkilemesi de mümkündür.

Uygulamanın seçeneğini aşağıdaki yollardan biriyle ayarlayarak System.Windows.Forms.ServicePointManagerCheckCrl bu davranışı geri çevirebilirsiniz:

  • [app].runtimeconfig.json yapılandırma dosyasında özelliğini false olarak ayarlayın:

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Devre dışı bırakmak için proje dosyasına bir <RuntimeHostConfigurationOption> öğe ekleyin:

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

Şunlara uygulanır

LoadAsync()

Görüntüyü zaman uyumsuz olarak yükler.

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

Açıklamalar

yöntemini çağırmanın LoadAsync yanı sıra, WaitOnLoad bir görüntüyü zaman uyumsuz olarak yüklemek için özelliğinin olarak ayarlanması false gerekir. Bir görüntüyü zaman uyumsuz olarak yüklediğinizde, bir görüntü yükünün LoadProgressChanged ilerleme durumunu belirlemek için olayı veya LoadCompleted bir görüntü yükünün ne zaman tamamlandığını belirlemek için olayı işleyebilirsiniz.

Bu yöntem, yöntemin zaman uyumlu karşılık geleninin atabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanıyorsa, görev beklenirken bu özel durum oluşturulur. gibi ArgumentExceptionkullanım özel durumları yine de zaman uyumlu olarak oluşturulur. Depolanan özel durumlar için tarafından oluşan Load()özel durumlara bakın.

Yük davranışı değişiklikleri

.NET 8'den başlayarak, bir PictureBox denetimin uzak görüntüyü yükleme davranışı değişti. Özelliği varsayılan olarak, System.Net.ServicePointManager.CheckCertificateRevocationList uzak görüntü aracılığıyla WebClientindirilmeden önce olarak ayarlanırtrue. Bu ayar, sertifikalara sahip sunucuların bu sertifikaları doğrulama işleminin bir parçası olarak sertifika yetkilisi iptal listesine (CRL) karşı denetlemesini sağlar.

Uyarı

Uzak görüntü yüklenir yüklenmez, CheckCertificateRevocationList uygulamanın ömrü boyunca olarak değiştirilir true . Gerekirse el ile geri dönebilirsiniz false , ancak başka bir uzak görüntü yüklenir yüklenmez olarak CheckCertificateRevocationList ayarlanır true.

Yerel olarak önbelleğe alınan CRL güncel olmadığında ve bir güncelleştirme alınamayınca daha önce çalışan bir uzak kaynak yüklenemeyebilir. Uygulamanın üzerinde çalıştığı ağ kısıtlandığında ve CRL konumu izin verilenler listesinde olmadığında bu durum oluşabilir.

CRL'nin denetlenmesindeki gecikmenin uygulamanın çalışma becerisini olumsuz etkilemesi de mümkündür.

Uygulamanın seçeneğini aşağıdaki yollardan biriyle ayarlayarak System.Windows.Forms.ServicePointManagerCheckCrl bu davranışı geri çevirebilirsiniz:

  • [app].runtimeconfig.json yapılandırma dosyasında özelliğini false olarak ayarlayın:

    {
      "configProperties": {
        "System.Windows.Forms.ServicePointManagerCheckCrl": false
      }
    }
    
  • Devre dışı bırakmak için proje dosyasına bir <RuntimeHostConfigurationOption> öğe ekleyin:

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

Şunlara uygulanır