PictureBox.LoadAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イメージを非同期的に読み込みます。
オーバーロード
LoadAsync(String) |
イメージを指定した場所に非同期的に読み込みます。 |
LoadAsync() |
イメージを非同期的に読み込みます。 |
LoadAsync(String)
イメージを指定した場所に非同期的に読み込みます。
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 メソッドの使用方法を示します。 この例を実行するには、次のコードを、名前付き と という名前startLoadButton
pictureBox1
の PictureBox を含む Windows フォームにButton貼り付けます。 ボタンのイベントが 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
ローカル ファイルを示す場合、推奨される形式はローカル ファイル パスです。 たとえば、c:\ にあるmyPicture.jpg という名前のイメージ ファイルにアクセスする場合は、 パラメーターをurl
渡c:\myPicture.jpg
します。 などの完全なパス、 http://www.contoso.com/path/images/image.jpg
または ./images/image.jpgなどの相対パスを使用できます。 相対パスを使用すると、作業ディレクトリに対する相対パスと見なされます。 メソッドを Load 呼び出すと、 プロパティが ImageLocation パラメーターの値に url
設定されます。
メソッドの呼び出しにより LoadAsync 、 プロパティが ImageLocation の url
値に設定されます。 メソッドを呼び出す以外に LoadAsync 、 プロパティを WaitOnLoad に false
設定して、イメージを非同期に読み込む必要があります。 イメージを非同期に読み込む場合は、 イベントを LoadProgressChanged 処理してイメージの読み込みの進行状況を確認したり、イベントを LoadCompleted 処理してイメージの読み込みがいつ完了したかを判断したりできます。 非同期のイメージ読み込み操作中にエラーが発生した場合は、 の AsyncCompletedEventArgsプロパティによってErrorキャッチされ、報告されます。
このメソッドは、メソッドの同期例外がスローできる非使用例外をすべて返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機されたときにスローされます。 などの ArgumentException使用例外は、引き続き同期的にスローされます。 格納されている例外については、 によって Load(String)スローされる例外に関するページを参照してください。
読み込み動作の変更
.NET 8 以降では、コントロールがリモート イメージを PictureBox
読み込む方法の動作が変更されました。 既定では、 System.Net.ServicePointManager.CheckCertificateRevocationList プロパティは を使用してWebClientリモート イメージをダウンロードする前に にtrue
設定されます。 この設定により、証明書を持つサーバーでは、検証プロセスの一環として、証明書が証明機関失効リスト (CRL) に対してチェックされます。
警告
リモート イメージが読み込まれるとすぐに、 CheckCertificateRevocationList
はアプリの有効期間中に に true
変更されます。 必要に応じて手動で に false
戻すことができますが、別のリモート イメージが読み込まれる CheckCertificateRevocationList
とすぐに が に true
設定されます。
ローカルにキャッシュされた CRL が古く、更新プログラムを取得できない場合、以前に動作していたリモート リソースの読み込みに失敗する可能性があります。 これは、アプリが実行されているネットワークが制限されていて、CRL の場所が許可リストにない場合に発生する可能性があります。
CRL のチェックの遅延がアプリの機能に悪影響を及ぼす可能性もあります。
この動作をオプトアウトするには、次のいずれかの方法でアプリのオプションを設定 System.Windows.Forms.ServicePointManagerCheckCrl
します。
[app].runtimeconfig.json構成ファイルで プロパティを に
false
設定します。{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }
プロジェクト ファイルに
<RuntimeHostConfigurationOption>
項目を追加して無効にします。<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
適用対象
LoadAsync()
イメージを非同期的に読み込みます。
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 プロパティは を使用してWebClientリモート イメージをダウンロードする前に にtrue
設定されます。 この設定により、証明書を持つサーバーでは、検証プロセスの一環として、証明書が証明機関失効リスト (CRL) に対してチェックされます。
警告
リモート イメージが読み込まれるとすぐに、 CheckCertificateRevocationList
はアプリの有効期間中に に true
変更されます。 必要に応じて手動で に false
戻すことができますが、別のリモート イメージが読み込まれる CheckCertificateRevocationList
とすぐに が に true
設定されます。
ローカルにキャッシュされた CRL が古く、更新プログラムを取得できない場合、以前に動作していたリモート リソースの読み込みに失敗する可能性があります。 これは、アプリが実行されているネットワークが制限されていて、CRL の場所が許可リストにない場合に発生する可能性があります。
CRL のチェックの遅延がアプリの機能に悪影響を及ぼす可能性もあります。
この動作をオプトアウトするには、次のいずれかの方法でアプリのオプションを設定 System.Windows.Forms.ServicePointManagerCheckCrl
します。
[app].runtimeconfig.json構成ファイルで プロパティを に
false
設定します。{ "configProperties": { "System.Windows.Forms.ServicePointManagerCheckCrl": false } }
プロジェクト ファイルに
<RuntimeHostConfigurationOption>
項目を追加して無効にします。<ItemGroup> <RuntimeHostConfigurationOption Include="System.Windows.Forms.ServicePointManagerCheckCrl" Value="false" /> </ItemGroup>
適用対象
.NET