Получение содержимого текстового поля в настраиваемой форме

В настоящее время я прикрепил функцию к кнопке команды в моей форме, которая извлекает то, что пользователь вводит в текстовое поле формы; это работает нормально, но я хочу имитировать это поведение с помощью клавиши ENTER. Как я могу это сделать?

Я попробовал свойство Enter в текстовом поле, но это происходит только тогда, когда фокус перемещен в текстовое поле, а не когда я нажимаю клавишу ввода после ввода.

Я читал о событии KeyUp для VB, но должен быть способ попроще - я погуглил, но не могу найти то, что ищу. Какие-либо предложения?

Спасибо


person Katana24    schedule 16.01.2013    source источник
comment
Вы смотрели после события обновления?   -  person Fionnuala    schedule 16.01.2013
comment
Нет - я подумал, что он должен по умолчанию реагировать на нажатие клавиши ввода. Я изучу это сейчас   -  person Katana24    schedule 16.01.2013
comment
После обновления можно не только войти, но и после того, как вы покинете текстовое поле любым способом, когда вы изменили данные. Все зависит от того, что вы делаете.   -  person Fionnuala    schedule 16.01.2013
comment
Основная цель здесь - когда нажата кнопка ввода - хватит ли после обновления?   -  person Katana24    schedule 16.01.2013
comment
Мне нужно знать, что вы делаете, прежде чем я смогу дать подходящий ответ. На основании предоставленной вами информации все, что я могу сделать, это предположить возможные варианты.   -  person Fionnuala    schedule 16.01.2013
comment
посмотрите на свойства Default и Cancel кнопки. По умолчанию событие нажатия кнопки происходит на ‹Enter›, а Cancel выполняет событие Click на ‹ESC›   -  person SeanC    schedule 16.01.2013
comment
Хорошо - пользователь вводит текст в текстовое поле формы и нажимает клавишу ввода - после нажатия клавиши ввода должна запускаться некоторая функция для обработки ввода.   -  person Katana24    schedule 16.01.2013
comment
@ Шон Чешир сейчас рассмотрит это   -  person Katana24    schedule 16.01.2013
comment
Если функция выполняется для текстового поля, которое вы хотите после обновления, если функция выполняется для кнопки управления, посмотрите комментарий @ SeanCheshire. Всегда задавайте достаточно подробный вопрос.   -  person Fionnuala    schedule 16.01.2013
comment
@Remou отсортировано сейчас - когда с вашим предложением после обновления. Если вы напишете это как ответ, я приму это   -  person Katana24    schedule 17.01.2013


Ответы (1)


Во многих случаях событие After Update подходит для работы с данными, введенными в текстовое поле, например:

Private Sub txtFilter_AfterUpdate()
    Me.Filter = "Content " & Me.txtFilter.Text
    Me.FilterOn = True
End Sub

Однако, если вам нужно отредактировать или проверить данные, лучше подойдет «Перед обновлением».

Private Sub txtText_BeforeUpdate(Cancel As Integer)
    If Me.txtText = "Invalid" Then
        Me.Undo
        Cancel = True
    End If
End Sub
person Fionnuala    schedule 17.01.2013