PictureBox.LoadAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ładuje obraz asynchronicznie.
Przeciążenia
LoadAsync(String) |
Ładuje obraz w określonej lokalizacji asynchronicznie. |
LoadAsync() |
Ładuje obraz asynchronicznie. |
LoadAsync(String)
- Źródło:
- PictureBox.cs
- Źródło:
- PictureBox.cs
- Źródło:
- PictureBox.cs
Ładuje obraz w określonej lokalizacji asynchronicznie.
public:
void LoadAsync(System::String ^ url);
public void LoadAsync (string url);
member this.LoadAsync : string -> unit
Public Sub LoadAsync (url As String)
Parametry
- url
- String
Ścieżka obrazu do wyświetlenia w pliku PictureBox.
Przykłady
W poniższym przykładzie kodu pokazano, jak używać LoadAsync metody . Aby uruchomić ten przykład, wklej następujący kod w formularzu systemu Windows zawierającym PictureBox nazwę pictureBox1
i Button nazwę startLoadButton
. Upewnij się, że Click zdarzenie przycisku jest skojarzone z startLoadButton_Click
metodą w tym przykładzie. Należy zmienić ścieżkę pliku obrazu na ścieżkę prawidłową w systemie.
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
Uwagi
url
Jeśli parametr wskazuje plik lokalny, zalecanym formatem jest ścieżka pliku lokalnego. Na przykład plik obrazu o nazwie myPicture.jpg znajdujący się w lokalizacji c:\ będzie dostępny przez przekazanie c:\myPicture.jpg
parametru url
. Można użyć pełnej ścieżki, takiej jak http://www.contoso.com/path/images/image.jpg
, lub ścieżki względnej, takiej jak ./images/image.jpg. Jeśli używana jest ścieżka względna, zostanie ona uznana za względną dla katalogu roboczego. Wywołanie Load metody ustawia ImageLocation właściwość na wartość parametru url
.
Wywołanie LoadAsync metody ustawia ImageLocation właściwość na wartość url
. Oprócz wywoływania LoadAsync metody należy ustawić WaitOnLoad właściwość tak, aby false
ładowała obraz asynchronicznie. Podczas asynchronicznego ładowania obrazu można obsłużyć LoadProgressChanged zdarzenie w celu określenia postępu ładowania obrazu lub LoadCompleted zdarzenia w celu określenia, kiedy ładowanie obrazu zostało ukończone. Jeśli podczas operacji ładowania obrazów asynchronicznych wystąpi błąd, zostanie on przechwycony i zgłoszony przez Error właściwość AsyncCompletedEventArgs.
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load(String)usługę .
Zmiany zachowania ładowania
Począwszy od platformy .NET 8, zachowanie sposobu, w jaki PictureBox
kontrolka ładuje zdalny obraz, uległ zmianie. Domyślnie System.Net.ServicePointManager.CheckCertificateRevocationList właściwość jest ustawiana na true
wartość przed pobraniem obrazu zdalnego za pośrednictwem polecenia WebClient. To ustawienie zapewnia, że serwery z certyfikatami mają te certyfikaty sprawdzane względem listy odwołania urzędu certyfikacji (CRL) w ramach procesu weryfikacji.
Ostrzeżenie
Po załadowaniu CheckCertificateRevocationList
obrazu zdalnego zostanie zmieniony na true
okres istnienia aplikacji. Jeśli jest to wymagane, możesz przywrócić false
ręcznie, ale po załadowaniu CheckCertificateRevocationList
innego obrazu zdalnego jest ustawiona wartość true
.
Wcześniej działający zasób zdalny może zakończyć się niepowodzeniem, gdy lokalnie buforowana lista CRL jest nieaktualna i nie można pobrać aktualizacji. Może się tak zdarzyć, gdy sieć, na którym działa aplikacja, jest ograniczona, a lokalizacja listy CRL nie znajduje się na liście dozwolonych.
Istnieje również możliwość, że opóźnienie sprawdzania listy CRL negatywnie wpływa na zdolność aplikacji do działania.
Możesz zrezygnować z tego zachowania, ustawiając System.Windows.Forms.ServicePointManagerCheckCrl
opcję dla aplikacji na jeden z następujących sposobów:
Ustaw właściwość na
false
w pliku konfiguracji [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }
<RuntimeHostConfigurationOption>
Dodaj element w pliku projektu, aby go wyłączyć:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
Dotyczy
LoadAsync()
- Źródło:
- PictureBox.cs
- Źródło:
- PictureBox.cs
- Źródło:
- PictureBox.cs
Ładuje obraz asynchronicznie.
public:
void LoadAsync();
public void LoadAsync ();
member this.LoadAsync : unit -> unit
Public Sub LoadAsync ()
Uwagi
Oprócz wywoływania LoadAsync metody WaitOnLoad należy ustawić właściwość , aby ładować false
obraz asynchronicznie. Podczas asynchronicznego ładowania obrazu można obsłużyć LoadProgressChanged zdarzenie w celu określenia postępu ładowania obrazu lub LoadCompleted zdarzenia w celu określenia, kiedy ładowanie obrazu zostało ukończone.
Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Load()usługę .
Zmiany zachowania ładowania
Począwszy od platformy .NET 8, zachowanie sposobu, w jaki PictureBox
kontrolka ładuje zdalny obraz, uległ zmianie. Domyślnie System.Net.ServicePointManager.CheckCertificateRevocationList właściwość jest ustawiana na true
wartość przed pobraniem obrazu zdalnego za pośrednictwem polecenia WebClient. To ustawienie zapewnia, że serwery z certyfikatami mają te certyfikaty sprawdzane względem listy odwołania urzędu certyfikacji (CRL) w ramach procesu weryfikacji.
Ostrzeżenie
Po załadowaniu CheckCertificateRevocationList
obrazu zdalnego zostanie zmieniony na true
okres istnienia aplikacji. Jeśli jest to wymagane, możesz przywrócić false
ręcznie, ale po załadowaniu CheckCertificateRevocationList
innego obrazu zdalnego jest ustawiona wartość true
.
Wcześniej działający zasób zdalny może zakończyć się niepowodzeniem, gdy lokalnie buforowana lista CRL jest nieaktualna i nie można pobrać aktualizacji. Może się tak zdarzyć, gdy sieć, na którym działa aplikacja, jest ograniczona, a lokalizacja listy CRL nie znajduje się na liście dozwolonych.
Istnieje również możliwość, że opóźnienie sprawdzania listy CRL negatywnie wpływa na zdolność aplikacji do działania.
Możesz zrezygnować z tego zachowania, ustawiając System.Windows.Forms.ServicePointManagerCheckCrl
opcję dla aplikacji na jeden z następujących sposobów:
Ustaw właściwość na
false
w pliku konfiguracji [app].runtimeconfig.json :{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }
<RuntimeHostConfigurationOption>
Dodaj element w pliku projektu, aby go wyłączyć:<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>