注册 登录
编程论坛 C# 论坛

请教键盘上下左右键问题

hello_error 发布于 2020-08-15 20:31, 2163 次点击
我设置的键盘上下左右的功能是在文本框里显示上下左右汉字,但是我按键盘上下左右的时候会在其他按钮间切换,一直切换到文本框的时候我按键盘的方向键才起作用,在文本框里打印汉字。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 20:33
如何一按键盘的上下左右键里面就在文本款里面显示汉字呢?而不是在其他框框间乱跳
#3
nslookup652020-08-21 10:11
protected override bool ProcessDialogKey(Keys keyData)
{
    bool flag = true;
    switch (keyData)
    {
        case Keys.Up:
            textBox1.Text = "上";
            break;
        case Keys.Down:
            textBox1.Text = "下";
            break;
        case Keys.Left:
            textBox1.Text = "左";
            break;
        case Keys.Right:
            textBox1.Text = "右";
            break;
        default:
            flag = false;
            break;
    }
    if (flag) return true;

    return base.ProcessDialogKey(keyData);
}
1