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 메서드를 사용하는 방법을 보여 줍니다. 이 예제를 실행하려면 명명된 및 Button 라는 pictureBox1
startLoadButton
가 포함된 PictureBox Windows Form에 다음 코드를 붙여넣습니다. 단추에 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 속성을 매개 변수 값으로 url
설정합니다ImageLocation.
메서드에 대한 호출은 LoadAsync 속성을 값url
으로 설정합니다ImageLocation. 메서드를 호출하는 LoadAsync 것 외에도 속성을 로 설정 WaitOnLoadfalse
하여 이미지를 비동기적으로 로드해야 합니다. 이미지를 비동기적으로 로드하는 경우 이벤트를 처리 LoadProgressChanged 하여 이미지 로드 진행률을 확인하거나 LoadCompleted 이벤트를 처리하여 이미지 로드가 완료된 시기를 확인할 수 있습니다. 비동기 이미지 로드 작업 중에 오류가 발생하면 의 AsyncCompletedEventArgs속성에 의해 Error catch되고 보고됩니다.
이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Load(String)된 예외를 참조하세요.
부하 동작 변경
.NET 8부터 컨트롤이 원격 이미지를 로드하는 방식 PictureBox
의 동작이 변경되었습니다. 기본적으로 속성은 System.Net.ServicePointManager.CheckCertificateRevocationList 를 통해 WebClient원격 이미지를 다운로드하기 전에 로 설정 true
됩니다. 이 설정을 사용하면 인증서가 있는 서버가 유효성 검사 프로세스의 일부로 CRL(인증 기관 해지 목록)에 대해 해당 인증서를 검사하도록 합니다.
경고
원격 이미지가 로드되는 CheckCertificateRevocationList
즉시 는 앱의 수명 동안 으로 true
변경됩니다. 필요한 경우 수동으로 로 되돌리기 false
수 있지만 다른 원격 이미지가 로드되는 즉시 가 로 true
설정됩니다CheckCertificateRevocationList
.
로컬로 캐시된 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 ()
설명
메서드 WaitOnLoad 를 호출하는 LoadAsync 것 외에도 속성을 로 설정 false
하여 이미지를 비동기적으로 로드해야 합니다. 이미지를 비동기적으로 로드하는 경우 이벤트를 처리 LoadProgressChanged 하여 이미지 로드 진행률을 확인하거나 LoadCompleted 이벤트를 처리하여 이미지 로드가 완료된 시기를 확인할 수 있습니다.
이 메서드는 메서드의 동기 대응에서 throw할 수 있는 모든 비사용 예외를 반환하는 작업에 저장됩니다. 예외가 반환된 작업에 저장되면 작업이 대기될 때 해당 예외가 throw됩니다. 와 같은 ArgumentException사용 예외는 여전히 동기적으로 throw됩니다. 저장된 예외는 에서 throw Load()된 예외를 참조하세요.
부하 동작 변경
.NET 8부터 컨트롤이 원격 이미지를 로드하는 방식 PictureBox
의 동작이 변경되었습니다. 기본적으로 속성은 System.Net.ServicePointManager.CheckCertificateRevocationList 를 통해 WebClient원격 이미지를 다운로드하기 전에 로 설정 true
됩니다. 이 설정을 사용하면 인증서가 있는 서버가 유효성 검사 프로세스의 일부로 CRL(인증 기관 해지 목록)에 대해 해당 인증서를 검사하도록 합니다.
경고
원격 이미지가 로드되는 CheckCertificateRevocationList
즉시 는 앱의 수명 동안 으로 true
변경됩니다. 필요한 경우 수동으로 로 되돌리기 false
수 있지만 다른 원격 이미지가 로드되는 즉시 가 로 true
설정됩니다CheckCertificateRevocationList
.
로컬로 캐시된 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