Window.Show Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Öppnar ett fönster och returnerar utan att vänta på att det nyligen öppnade fönstret ska stängas.
public:
void Show();
public void Show();
member this.Show : unit -> unit
Public Sub Show ()
Undantag
Exempel
Följande exempel visar hur du öppnar ett lägeslöst fönster.
// 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()
Kommentarer
När klassen instansieras visas den Window inte som standard. Show visar ett fönster och returnerar omedelbart, utan att vänta på att fönstret ska stängas. Det öppnade fönstret hindrar därför inte användare från att interagera med andra fönster i programmet. Den här typen av fönster kallas för ett lägeslöst fönster. Vanliga exempel på lägeslösa fönster är egenskaper för fönster, verktygslådor och paletter. Om du vill begränsa en användare till att interagera med ett visst fönster måste fönstret öppnas genom att anropa ShowDialog.
Ett fönster som öppnas genom att anropa Show har inte automatiskt en relation till fönstret som öppnade det. Det öppnade fönstret vet inte vilket fönster som öppnade det. Den här relationen kan upprättas med hjälp av Owner egenskapen och hanteras med hjälp av OwnedWindows egenskapen .
Anrop Show uppnår samma slutresultat som att ange Visibility egenskapen för Window objektet till Visible. Det finns dock en skillnad mellan de två ur ett tidsperspektiv.
Anrop Show är en synkron åtgärd som endast returneras efter Loaded att händelsen i det underordnade fönstret har aktiverats:
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.")
Inställningen Visibilityär dock en asynkron åtgärd som returnerar omedelbart:
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.")
När du anger Visibilityaktiveras kanske inte alla fönsterhändelser som du registrerar innan du anger Visibility förrän efter att metoden som du anger Visibility har slutfört körningen.