在richtextbox中按下某个键在richtextbox中并不显示出来,比如说我按TAB键,我要求他能够触发某个事件,但是在文本框中并不显示出他的TAB键出来,又或者说我按了A键,就弹出一个提示框但是在文本框中显示A这个字符,但是按其他键照样能够显示出键值来。
举一个具体的例子,输入“ABCDEFGIJK”这一串按照字母表顺序输入的字符当你下一个按到“H”时弹出一个提示框“你按了H”,但是在richtextbox中并不显示出来。

解决方案 »

  1.   

    在KeyPress事件里面处理!如果是要屏蔽的键,就设置e.Handled=true;
      

  2.   

    private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        switch (char.ToLower(e.KeyChar))
        {
            case 'h':
                MessageBox.Show(string.Format("你按了{0}", e.KeyChar));
                e.Handled = true;
                break;
        }
    }
      

  3.   

    设置richTextBox1.AcceptsTab = trueprivate void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        switch (char.ToLower(e.KeyChar))
        {
            case (char)Keys.Tab:
                MessageBox.Show("你按了Tab");
                e.Handled = true;
                break;
            case 'h':
                MessageBox.Show("你按了H"); 
                e.Handled = true;
                break;
        }
    }