Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с обработкой события textBox->KeyDown

36K
06 августа 2009 года
twi5ter
37 / / 06.08.2009
Здравствуйте.
Мне нужно при вводе информации в textBox совершать некоторые манипуляции. Ввводить можно только буквы, и все маленькие буквы должны быть преобразованы в большие. Подскажите как лучше это сделать.

Есть control KeyWord_textBox, я делал следующим образом:
this->KeyWord_textBox->KeyDown +=gcnew System::EventHandler(this, &Form1::KeyWord_textBox_KeyDown);

private: System::Void KeyWord_textBox_KeyDown(System::Object^ sender, System::Windows::Forms::KeyEventArgs^ e){
}
Это привело к ошибке компилятора C3352.
Объясните в чём суть, а то я впервые столкнулся не могу понять что указать в параметрах. Если есть другие решения с удовольствием выслушаю.
288
06 августа 2009 года
nikitozz
1.2K / / 09.03.2007
Просто поставьте у текстбокса свойство CharacterCasing в System::Windows::Forms::CharacterCasing::Upper и не надо будет писать обработчик.

По поводу ошибки. Код должен быть такой
 
Код:
this->KeyWord_textBox->KeyDown += gcnew System::Windows::Forms::KeyEventHandler(this, &Form1::KeyWord_textBox_KeyDown);

private: System::Void KeyWord_textBox_KeyDown(System::Object^  sender, System::Windows::Forms::KeyEventArgs^  e) {
             }
278
17 августа 2009 года
Alexander92
1.1K / / 04.08.2008
Попробуйте обрабатывать не KeyDown, а KeyPressed. В этом случае обработчик может выглядеть примерно следующим образом:

 
Код:
if (!(isalpha(e->KeyChar))) // проверка на ввод буквы; можете написать свой
                                         алгоритм проверки на ввод
   e->Handled = TRUE;
else
   e->KeyChar = toupper(e->KeyChar);
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог