Из Spring Docs
Когда бин является одноэлементным, будет управляться только один общий экземпляр бина, и все запросы на бины с совпадающими идентификаторами или идентификаторами это определение бина приведет к тому, что один конкретный экземпляр бина будет возвращен контейнером Spring.
blockquote>В вашем примере вы создаете два разных bean-компонента одного и того же класса. Поскольку область действия специфична для bean-компонента, она не имеет ничего общего с самим классом.
Править: Так или иначе я неправильно читал Ваш вопрос включать проверку допустимого символа. Вы изменяли его? Я добавил описание каждого.
Если бы Вам просто нужен символ, я, вероятно, рекомендовал бы использовать событие KeyPress и использовать KeyPressEventArgs. Свойство KeyChar. Можно затем использовать Символ. IsLetterOrDigit (), чтобы узнать, является ли это допустимый символ.
С другой стороны, Вы смогли бросать KeyEventArgs. KeyCode к символу и затем используют Символ. IsLetterOrDigit на этом.
Очень простое использование KeyDown
private void tbSomeText_KeyDown (object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.B && e.Modifiers != Keys.Shift) {
MessageBox.Show("You Pressed b");
}
else if (e.KeyCode == Keys.A && e.Modifiers == Keys.Shift) {
MessageBox.Show("You Pressed Shift+A");
}
}
Я предложил бы использовать KeyCode
свойство для проверки по Keys
перечисление для большинства операций. Однако некоторые основные различия ниже могли бы помочь Вам лучше решить, в каком Вы нуждаетесь для своей ситуации.
Различия:
KeyCode
- Представляет Keys
перечислимая величина, которая представляет ключ, который в настоящее время находится в Неработоспособном состоянии.
KeyData
- То же как KeyCode
, за исключением того, что это имеет дополнительную информацию в форме модификаторов - Shift/Ctrl/Alt и т.д.
KeyValue
- Числовое значение KeyCode
.
См. мой ответ на свой другой вопрос:
Используйте событие KeyPressed.
Заключение в кавычки MSDN:
KeyPressEventArgs указывает символ, который составлен, когда пользователь нажимает клавишу. Например, когда пользователь нажимает SHIFT + K, свойство KeyChar возвращает верхний регистр K.
Таким образом, Вы не должны бездельничать с e.KeyCode
, e.KeyData
и e.KeyValue
.