Window.Show 메서드

정의

창을 연 후 새로 열린 창이 닫힐 때까지 기다리지 않고 반환됩니다.

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

예외

닫히고 있는 창(Show()) 또는 닫힌 창(Closing)에서 Closed가 호출된 경우

예제

다음 샘플에서는 모덜리스 창을 여는 방법을 보여 줍니다.

// Initialize window
Window window = new Window();

// Show window modelessly
// NOTE: Returns without waiting for window to close
window.Show();
' Initialize window
Dim window As New Window()

' Show window modelessly
' NOTE: Returns without waiting for window to close
window.Show()

설명

클래스가 Window 인스턴스화되면 기본적으로 표시되지 않습니다. Show 는 창을 표시하고 창을 닫을 때까지 기다리지 않고 즉시 반환합니다. 결과적으로 열린된 창이 사용자 애플리케이션에서 다른 windows와 상호 작용을 방지 하지는 않습니다. 이 유형의 창을 모덜리스 창이라고 합니다. 모덜리스 창의 일반적인 예로는 속성 창, 도구 상자 및 팔레트가 있습니다. 사용자가 특정 창과 상호 작용하도록 제한하려면 를 호출 ShowDialog하여 창을 열어야 합니다.

를 호출 Show 하여 연 창은 창이 열린 창과 자동으로 관계가 없습니다. 특히 열린 창은 창을 열었는지 알 수 없습니다. 이 관계는 속성을 사용하여 Owner 설정하고 속성을 사용하여 OwnedWindows 관리할 수 있습니다.

를 호출 Show 하면 개체의 Window 속성을 로 설정하는 Visibility 것과 동일한 최종 결과가 발생합니다Visible. 그러나 타이밍 관점에서 둘 사이에는 차이가 있습니다.

호출 Show 은 자식 창에서 Loaded 이벤트가 발생한 후에만 반환되는 동기 작업입니다.

Window w = new Window();
w.Loaded += delegate { System.Console.WriteLine("This is written first."); };
w.Show();
System.Console.WriteLine("This is written last.");
Dim w As New Window()
AddHandler w.Loaded, Sub() System.Console.WriteLine("This is written first.")
w.Show()
System.Console.WriteLine("This is written last.")

그러나 를 설정하는 Visibility것은 즉시 반환되는 비동기 작업입니다.

Window w2 = new Window();
w2.Loaded += delegate { System.Console.WriteLine("This is written last."); };
w2.Visibility = Visibility.Visible;
System.Console.WriteLine("This is written first.");
Dim w2 As New Window()
AddHandler w2.Loaded, Sub() System.Console.WriteLine("This is written last.")
w2.Visibility = Visibility.Visible
System.Console.WriteLine("This is written first.")

를 설정할 Visibility때 설정하기 전에 등록한 모든 창 이벤트는 설정한 VisibilityVisibility 메서드가 실행을 완료할 때까지 발생하지 않을 수 있습니다.

적용 대상

추가 정보