Partilhar via


Window.Show Método

Definição

Abre uma janela e retorna sem esperar o fechamento da janela recém-aberta.

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

Exceções

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

Exemplos

O exemplo a seguir demonstra como abrir uma janela de modelagem.

// 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 modeless . Exemplos comuns de janelas de modelagem 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 pela chamada 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.

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

A chamada 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 Visibility, 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 podem não ser gerados até que o método no qual você definiu Visibility tenha concluído a execução.

Aplica-se a

Confira também