Sdílet prostřednictvím


Window.Show Metoda

Definice

Otevře okno a vrátí se bez čekání na zavření nově otevřeného okna.

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

Výjimky

Show() se volá v okně, které se zavírá (Closing) nebo bylo zavřené (Closed).

Příklady

Následující ukázka ukazuje, jak otevřít nemodální okno.

// 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()

Poznámky

Při vytvoření Window instance třídy není ve výchozím nastavení viditelná. Show zobrazí okno a vrátí se okamžitě, aniž by se čekalo na zavření okna. V důsledku toho otevřené okno nezabrání uživatelům v interakci s jinými okny v aplikaci. Tento typ okna se nazývá nemodální okno. Mezi běžné příklady nemodálních oken patří okna vlastností, sady nástrojů a palety. Pokud chcete omezit interakci uživatele s určitým oknem, musí být okno otevřeno voláním ShowDialog.

Okno, které je otevřeno voláním Show , nemá automaticky relaci s oknem, které ho otevřelo; konkrétně otevřené okno neví, které okno se otevřelo. Tuto relaci lze navázat pomocí Owner vlastnosti a spravovat pomocí vlastnosti OwnedWindows .

Volání Show dosáhne stejného koncového výsledku jako nastavení Visibility vlastnosti objektu Window na Visible. Z hlediska časování je mezi nimi ale rozdíl.

Volání Show je synchronní operace, která se vrací až po Loaded vyvolání události v podřízené okně:

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.")

Nastavení Visibilityje však asynchronní operace, která vrací okamžitě:

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.")

Při nastavení Visibilityse události okna, které zaregistrujete před nastavením Visibility , nemusí být vyvolány, dokud metoda, ve které jste nastavili Visibility , nedokončí provádění.

Platí pro

Viz také