Глюк KeyDown для TextBox (Excel 2003,VBA)
Добавлено: 10 авг 2008, 00:02
Есть пользовательская форма. На ней текстовое поле TextBox1. Хочу что бы при нажатии ESC
поле очищалось.
Cобытие наступает,отлавливается, но текстбокс не очищается.Вместо этого происходит восстановление текста с отменой ввода с момента получения полем фокуса.
( т.е.очистка поля произойдёт только если перед началом ввода поле было пустым)
Вот такая то ли фича то ли глюк
Проблему решило использование вместо KeyDown - KeyUp
Но пока понял в чём дело минут 20 потерял 
поле очищалось.
Код: Выделить всё
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
if KeyCode = 27 then
TextBox1.Text = vbNullString
end if
End Sub
( т.е.очистка поля произойдёт только если перед началом ввода поле было пустым)
Вот такая то ли фича то ли глюк

Проблему решило использование вместо KeyDown - KeyUp
Код: Выделить всё
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
if KeyCode = 27 then
TextBox1.Text = vbNullString
end if
End Sub
