设置TestKeyPress.KeyPreview = true;

解决方案 »

  1.   

    对,pedit() 的方法是对的设置TestKeyPress.KeyPreview = true;默认情况下,窗体不捕获键盘的事件
      

  2.   

    为窗体注册一个 KeyDown 事件,如: private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
    if (e.KeyCode == Keys.F1)
    {
    MessageBox.Show("press key 'F1'");
    }

    }
      

  3.   

    “设置TestKeyPress.KeyPreview = true;”
    这是正确的。但不是说“默认情况下,窗体不捕获键盘的事件”,而是在KeyPreview = false时捕获键盘事件的优先权在窗体上的控件面而不在窗体。比如说有一个TextBox,优先接收字符输入;有按钮,优先捕获方向键以产生tab_change。KeyPreview 可使窗体得到捕获优先权。