2011-06-30 3 views

Répondre

1

Ce qui implique que TextBox.Leave se déclenche en premier. Les événements ne peuvent jamais se déclencher simultanément, ce sont des événements qui s'exécutent sur le thread de l'interface utilisateur, un à la fois.

1

événement congé se déclenche avant SelectedValueChanged

1

Ils ne sont pas actionnés simultanément.

Avoir la « sortie » ou la « fenêtre immédiate » ouverte dans votre développement (selon vos options de débogage), puis à partir de votre code:

private void textBox1_Leave(object sender, EventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("Text Leave"); 
} 

private void listBox1_SelectedValueChanged(object sender, EventArgs e) 
{ 
    System.Diagnostics.Debug.WriteLine("ListBox SelectedValueChanged"); 
} 

Dans votre sortie ou d'une fenêtre immédiate, vous devriez voir le message "Text Leave" avant le message "ListBox SelectedValueChanged" lorsque votre TextBox a le focus et que vous sélectionnez un élément dans le ListBox suivant. ListBox.Enter doit se déclencher avant qu'il ne puisse voir une modification de la valeur sélectionnée.

+0

Vous voulez dire l'onglet Déboguer de la fenêtre _Output_. La fenêtre Exécution est pour l'exécution de code pendant le débogage. –

+0

@Charles Sur mon ordinateur, j'ai coché la case "Rediriger tous les textes de la fenêtre de sortie vers la fenêtre immédiate". J'ai mis à jour ma réponse en conséquence. – LarsTech

+0

Huh, je n'ai jamais su que cette option existait. Quelle option curieuse! –

Questions connexes