注册 登录
编程论坛 C语言论坛

请教键盘上下左右键问题

hello_error 发布于 2020-08-15 20:34, 1877 次点击

我设置的键盘上下左右的功能是在文本框里显示上下左右汉字,但是我按键盘上下左右的时候会在其他按钮间切换,一直切换到文本框的时候我按键盘的方向键才起作用,在文本框里打印汉字。form1属性中的keyPreview已经设置成true。
如何一按键盘的上下左右键里面就在文本款里面显示汉字呢?而不是在其他框框间乱跳 。初来乍到,多多指教
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
           switch(e.KeyCode)
            {
               case Keys.Up:  button6_Click(sender, e);break;
               case Keys.Down: button2_Click(sender, e); break;
               case Keys.Left: button7_Click(sender, e); break;
               case Keys.Right: button8_Click(sender, e); break;
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += "下" + "\t";
        }

2 回复
#2
hello_error2020-08-15 22:57
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)//取消方向键对控件的焦点的控件,用自己自定义的函数处理各个方向键的处理函数
#3
八画小子2020-08-17 23:46
问错地方了,Winform C#,请自己找板块
1