Source de bogue
Ce n'est ni Visual Studio ni bogue lié à Windows. En fait, le bug est dans votre clavier! De nombreux claviers de différents fournisseurs auraient été bogués.
Problème
Si vous appuyez sur Ctrl+ Breaket relâchez d' Ctrlabord, Break se coince sur un clavier buggy. Si vous avez déjà appuyé sur Ctrl+ dans Breakle mauvais sens, vous aurez ce problème d'interruption de la recherche.
Détails
Selon les spécifications du code de numérisation, Break et Ctrl+ Breaksont spéciaux. Ils envoient des codes de scan "make" (appuyez sur) et "break" (relâchez) au moment où vous appuyez sur Break. Ils n'envoient rien lorsque vous relâchez Break. Le clavier buggy enverra la séquence suivante:
- Ctrl "make" scan code
- Ctrl+ Break"make" scan code
- Ctrl "casser" le code de numérisation
- Pause "casser" le code de numérisation
Autrement dit, Ctrl+Break n'est jamais publié, mais Pauseest plutôt publié.
la reproduction
Vous pouvez par exemple utiliser de vieux bons Spy ++ des outils Visual Studio. Attachez-le à n'importe quoi, par exemple le bloc-notes Windows et surveillez les messages (je vous suggère de ne sélectionner que les messages du clavier). Appuyez sur Ctrl+ Break, relâchantCtrl premier. Vérifiez la sortie de Spy ++. Vous verrez la séquence que j'ai montrée dans la section Détails.
J'ai essayé deux claviers différents sur le même ordinateur. Logitech K120 a le bug tandis que certains autres claviers Mitsumi se comportent conformément aux spécifications et n'ont pas le bug.
Si vous y réfléchissez, il est facile de comprendre qu'un comportement correct nécessite une gestion de cas particulière, tandis que le comportement de buggy est naïf. C'est pourquoi de nombreux claviers différents peuvent être bogués.
Solution
Remplacez votre clavier :)
solution de contournement
Il vous suffit d'appuyer sur Ctrl+ Break, en faisant attention à la libération en Breakpremier. Peu importe quelle application est active.