Partager via


Window.Show Méthode

Définition

Ouvre une fenêtre et retourne sans attendre la fermeture de la nouvelle fenêtre ouverte.

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

Exceptions

Show() est appelé sur une fenêtre qui se ferme (Closing) ou a été fermée (Closed).

Exemples

L’exemple suivant montre comment ouvrir une fenêtre sans mode.

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

Remarques

Lorsque la Window classe est instanciée, elle n’est pas visible par défaut. Show affiche une fenêtre et retourne immédiatement, sans attendre que la fenêtre soit fermée. Par conséquent, la fenêtre ouverte n’empêche pas les utilisateurs d’interagir avec d’autres fenêtres de l’application. Ce type de fenêtre est appelé fenêtre sans mode . Les fenêtres de propriétés, les boîtes à outils et les palettes sont des exemples courants de fenêtres sans mode. Pour limiter l’interaction d’un utilisateur avec une fenêtre spécifique, la fenêtre doit être ouverte en appelant ShowDialog.

Une fenêtre ouverte en appelant Show n’a pas automatiquement de relation avec la fenêtre qui l’a ouverte ; en particulier, la fenêtre ouverte ne sait pas quelle fenêtre a été ouverte. Cette relation peut être établie à l’aide de la Owner propriété et gérée à l’aide de la OwnedWindows propriété .

L’appel Show obtient le même résultat final que la définition Visibility de la propriété de l’objet Window sur Visible. Toutefois, il existe une différence entre les deux du point de vue du moment.

L’appel Show est une opération synchrone qui retourne uniquement après que l’événement Loaded sur la fenêtre enfant a été déclenché :

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

Toutefois, la définition Visibilityest une opération asynchrone qui retourne immédiatement :

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

Lorsque vous définissez Visibility, les événements de fenêtre que vous inscrivez avant de définir Visibility ne peuvent pas être déclenchés tant que la méthode dans laquelle vous définissez Visibility n’a pas terminé l’exécution.

S’applique à

Voir aussi