Je voulais ajouter un événement pour un champ de texte pour gérer quand il perd le focus. J'étais sûr de me rappeler d'un événement LostFocus
, mais je ne l'ai pas vu dans la grille des propriétés. Mais en effet, l'événement existe si j'y accède de manière programmative. J'utilise VS2008 - y a-t-il une raison pour laquelle cet événement (et peut-être d'autres?) n'étaient pas affichés dans la grille des propriétés?
Réponses
Trop de publicités?Control.LostFocus
est marqué avec [BrowsableAttribute(false)]
. Cela signifie qu'il ne sera pas affiché dans la fenêtre Propriétés. Pour plus de détails, voir BrowsableAttribute
.
Voici la déclaration:
[BrowsableAttribute(false)]
public event EventHandler LostFocus
LostFocus est un événement problématique, voici le texte en petits caractères des documents SDK pour WM_KILLFOCUS, le message sous-jacent de Windows :
Lors du traitement de ce message, ne pas effectuer d'appels de fonctions qui affichent ou activent une fenêtre. Cela fait que le thread cède le contrôle et peut provoquer l'arrêt de l'application pour répondre aux messages. Pour plus d'informations, voir les blocages de messages.
Utilisez plutôt l'événement Leave.