2013-09-07 4 views
0

Я пишу образовательную программу. У меня есть кнопка, которую я хочу быть «нажал», когда пользователь нажимает. Я установил свойство accept для формы в значение true, а свойство KeyPreview также установлено в true. Я попытался создать настраиваемый Sub для репликации функций AcceptButton, это тоже не сработает, sub работает на всех клавишах, кроме нажатия клавиши ввода.Моя форма не регистрируется Введите ключевые пресеты

Private Sub TextBoxAnswer_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles TextBoxAnswer.KeyDown 
     If e.KeyCode = System.Windows.Forms.Keys.Enter Then 
      CheckQ() 
     End If 
    End Sub 

Я провел последние 3 дня, ища ответ и попробовал все, что мог найти в Google. Я также просто попробовал установить для свойства textbox MultiLine значение true, и клавиша ввода даже не создает новую строку, просто для уточнения. Я установил свойство Multiline обратно в значение false, как и должно быть.

ответ

0

Свойство AcceptButton должно быть установлено = кнопка, которую вы хотите «щелкнуть», когда нажата клавиша ввода, а не логическое значение. Me.AcceptButton = buttonSubmit

Вы добавили обработчик для события Keydown формы, чтобы сохранить свойство KeyPreview?

Private Sub form1_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles form1.KeyDown 
    If e.KeyCode = System.Windows.Forms.Keys.Enter Then 
     CheckQ() 
     e.Handled = true 
    End If 
End Sub 

Ваш код, как и у вас, написанный для текстового окна, должен также работать с ключом. Я попробовал его в тестовом приложении и не имел никаких проблем. Вы попадаете в точку останова, если поместить ее в вызов метода CheckQ()?

Любой из этих методов должен выполнить то, что вы пытаетесь сделать.

+0

Привет, извините, набрав ошибку, кнопка «Принять» установлена ​​на кнопку ButtonCheck, спасибо за дополнительную помощь. Я не ударил точку останова, когда я делал то, что вы описали, и код, который вы опубликовали, также не работал, хотя большое спасибо. – user2756856

+0

Я также проверял, что, когда нажата клавиша ввода, точки останова не попадают нигде в суб – user2756856

+0

Я создал тестовое приложение и смог поймать ключ ввода с помощью свойства 'AcceptButton', события' KeyDown' в форме после установка «KeyPreview = true» и использование события «KeyDown» в текстовом поле. Можете ли вы разместить больше своего кода? – LeftyCoder