“KeyPress” event for WinForms textbox is missing?

后端 未结 3 1469
灰色年华
灰色年华 2021-01-18 04:01

I am trying to add an \"KeyPress\" event in a textbox (WinForm)

this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(CheckKeys);


        
相关标签:
3条回答
  • 2021-01-18 04:48

    You are mixing class libraries, don't use Windows Forms classes in a WPF project. Make it look like this:

      public partial class Window1 : Window {
        public Window1() {
          InitializeComponent();
          this.textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
        }
    
        private void textBox1_KeyDown(object sender, KeyEventArgs e) {
          if (e.Key == Key.Enter) {
            MessageBox.Show("Enter!");
            e.Handled = true;
          }
        }
      }
    
    0 讨论(0)
  • 2021-01-18 04:51

    try following steps it will work, bcoz i have tested it.

    1. select textbox, right click on it, then click on properties.
    2. click on event, then double click on KeyPress
    3. then type the following code.

      private void textBox2_KeyPress(object sender, KeyPressEventArgs e)  
      {  
          if (e.KeyChar == (char)13)  
          {            
              //press Enter do Something Like i have messagebox below to show "wow"
              MessageBox.Show("wow"); 
          }
          else
          {
          }
      }
      
    0 讨论(0)
  • 2021-01-18 04:59

    Have you looked at the documentation on KeyPress? It states specifically that The KeyPress event is not raised by noncharacter keys; however, the noncharacter keys do raise the KeyDown and KeyUp events. Using one of those events instead should work.

    0 讨论(0)
提交回复
热议问题