Window.Show Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Abre uma janela e volta sem esperar que a janela recém-aberta se feche.
public:
void Show();
public void Show();
member this.Show : unit -> unit
Public Sub Show ()
Exceções
Exemplos
O exemplo seguinte demonstra como abrir uma janela sem modos.
// 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()
Observações
Quando a Window classe é instanciada, não é visível por defeito. Show mostra uma janela e regressa imediatamente, sem esperar que a janela se feche. Consequentemente, a janela aberta não impede os utilizadores de interagirem com outras janelas na aplicação. Este tipo de janela é chamado de janela sem modos . Exemplos comuns de janelas sem modos são janelas de propriedades, caixas de ferramentas e paletas. Para restringir um utilizador a interagir com uma janela específica, a janela deve ser aberta chamando ShowDialog.
Uma janela que é aberta ao chamar 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. Esta relação pode ser estabelecida usando o Owner imóvel e gerida através do imóvel OwnedWindows .
Chamar Show alcança o mesmo resultado final que definir Visibility a propriedade do Window objeto para Visible. No entanto, há uma diferença entre os dois do ponto de vista do tempo.
Chamar Show é uma operação síncrona que só retorna depois de o Loaded evento na janela filho ter sido elevado:
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.")
Definir 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, quaisquer eventos de janela que registe antes de definir Visibility podem não ser ativados até que o método que definiste Visibility tenha concluído a execução.