Window.Show Método

Definição

Abre uma janela e retorna sem aguardar a janela recém-aberta fechar.

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

Exceções

Show() é chamado em uma janela que está sendo fechada (Closing) ou que foi fechada (Closed).

Exemplos

O exemplo a seguir demonstra como abrir uma janela sem formação.

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

Comentários

Quando a Window classe é instanciada, ela não fica visível por padrão. Show mostra uma janela e retorna imediatamente, sem esperar que a janela seja fechada. Consequentemente, a janela aberta não impede que os usuários interajam com outras janelas no aplicativo. Esse tipo de janela é chamado de janela sem formação . Exemplos comuns de janelas sem janelas são janelas de propriedades, caixas de ferramentas e paletas. Para restringir um usuário a interagir com uma janela específica, a janela deve ser aberta chamando ShowDialog.

Uma janela aberta chamando Show não tem automaticamente uma relação com a janela que a abriu; especificamente, a janela aberta não sabe qual janela a abriu. Essa relação pode ser estabelecida usando a Owner propriedade e gerenciada usando a OwnedWindows propriedade .

Chamar Show obtém o mesmo resultado final que definir Visibility a propriedade do Window objeto como Visible. No entanto, há uma diferença entre os dois de uma perspectiva de tempo.

Chamar Show é uma operação síncrona que retorna somente após o Loaded evento na janela filho ter sido gerado:

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

A configuração Visibilityde , no entanto, é uma operação assíncrona que retorna imediatamente:

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

Ao definir Visibility, todos os eventos de janela que você registrar antes de definir Visibility não poderão ser gerados até que o método em que você definiu Visibility tenha concluído a execução.

Aplica-se a

Confira também