Window.Show Метод

Определение

Открывает окно и возвращается без ожидания закрытия нового открытого окна.Opens a window and returns without waiting for the newly opened window to close.

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

Исключения

Метод Show() вызывается для окна, которое закрывается (Closing) или закрыто (Closed).Show() is called on a window that is closing (Closing) or has been closed (Closed).

Примеры

В следующем примере показано, как открыть немодальное окно.The following sample demonstrates how to open a modeless window.

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

Комментарии

При создании экземпляра класса он не отображается по умолчанию. WindowWhen the Window class is instantiated, it is not visible by default. Showпоказывает окно и возвращает немедленно, не дожидаясь закрытия окна.Show shows a window and returns immediately, without waiting for the window to be closed. Следовательно, открытое окно не мешает пользователям взаимодействовать с другими окнами в приложении.Consequently, the opened window does not prevent users from interacting with other windows in the application. Этот тип окна называется немодальным окном.This type of window is called a modeless window. Распространенными примерами немодальных окон являются окна свойств, панели инструментов и палитры.Common examples of modeless windows are properties windows, toolboxes, and palettes. Чтобы запретить пользователю взаимодействие с определенным окном, окно должно быть открыто путем вызова ShowDialog.To restrict a user to interacting with a specific window, the window must be opened by calling ShowDialog.

Окно, открываемое при вызове Show , не имеет автоматически связи с окном, которое его открыло; в частности, открытое окно не знает, какое окно открыло его.A window that is opened by calling Show does not automatically have a relationship with the window that opened it; specifically, the opened window does not know which window opened it. Эту связь можно установить с помощью Owner свойства и управлять ими OwnedWindows с помощью свойства.This relationship can be established using the Owner property and managed using the OwnedWindows property.

Вызов Show достигает того же конечного результата, что и Visibility свойство Window Setting объекта, равным Visible.Calling Show achieves the same end result as setting Visibility property of the Window object to Visible. Однако существует разница между двумя значениями с точки зрения времени.However, there is a difference between the two from a timing perspective.

Вызов Show — это синхронная операция, которая возвращает только Loaded после вызова события в дочернем окне:Calling Show is a synchronous operation that returns only after the Loaded event on the child window has been raised:

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

Однако Visibilityпараметр является асинхронной операцией, которая возвращает немедленно.Setting Visibility, however, is an asynchronous operation that returns immediately:

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

При установке Visibilityвсе события окна, регистрируемые до установки Visibility , могут не вызываться до тех пор, пока не завершится Visibility выполнение метода, в котором вы установили.When setting Visibility, any window events you register before you set Visibility may not be raised until after the method in which you set Visibility has completed execution.

Применяется к

Дополнительно