2016-07-15 2 views
0

Эй, ребята, я боролся с моим кодом! Я сделал некоторые исследования, и я не понимаю, почему мой код не работает ... Пожалуйста, помогите!Visual Studio C# Key press enter не работает

private void CheckEnter(object sender, System.Windows.Forms.KeyPressEventArgs e) 
    { 
     if (e.KeyChar == (char)13) 
     { 
      Debug.WriteLine("It's working!"); 
      enterKey = true; 
     } 
     else 
     { 
      enterKey = false; 
     } 
    } 

    private void textBox_TextChanged(object sender, TextChangedEventArgs e) 
    { 
     Debug.WriteLine("The text is changing"); 

     if (enterKey == true) 
     { 
      encryptKey = encryptInTextBox.Text; 
      Debug.WriteLine("The key is " + encryptKey); 
     } 
    } 

Видимо, я не могу изменить «TextChangedEvenArgs» из-за того, как было создано в текстовом поле, всякий раз, когда я изменить его, он приходит с ошибкой. Итак, я решил сделать это так, спасибо за помощь!

ответ

0

Почему бы вам не проверить ключ ENTER непосредственно в текстовое поле KEYPRESS или KEYUP?

+0

Да, но мне нужно было бы изменить «TextChangedEvenArgs» на «System.Windows.Forms.KeyPressEventArgs»? –

+0

Да. Вы можете выбрать событие KeyPress или KeyUp в верхней части вашего редактора в выпадающем списке «Метод». Наведите курсор мыши на событие TextChanged и увидите, что вы можете установить события KeyPress/KeyUp. И поставьте своего критика (13) в течение этого события. Я имею в виду, что оба события, которые вы используете сейчас, будут в одном сингле. –

+0

Спасибо! "Работает!" ; P Я пробежался по небольшим проблемам, но потом понял, спасибо еще раз! –