Цитирование из Перечисление ключей :
Осторожно Не используйте значения в этом перечислении для комбинированных побитовых операций.Значения в перечислении не являются взаимоисключающими.
Несмотря на то, что перечисление System.Windows.Forms.Keys
имеет атрибут [Flags]
, единственными флагами, которые могут быть безопасно использованы в качестве флагов, являются:
Keys.Shift
Keys.Ctrl
Keys.Alt
Все остальные значения не являются значениями перечисления "flags".В результате некоторые комбинации значений, которые не являются значениями «флагов», случайно совмещаются, образуя другие значения, которые не являются значениями «флагов».
Эффект, который вы видите, - это оператор Enum.ToString()
неправильно атрибут [Flags]
для создания таких комбинаций.Это безвредно, потому что клавиши ShiftKey
и Space
никогда не предназначены для объединения, согласно документации выше.