将Shift + Tab功能检测到退格键

时间:2010-09-21 08:20:19

标签: c# winforms

软件利用:C#,VS-2005

这是否可以覆盖Shift + Tab功能/方法或检测Shift + Tab功能并将其与Backspace一起使用。?

在Shot中使用Backspace替换Shift + Tab功能。然后退格键将像Shift + Tab一样:

这在C#中是否可行?

2 个答案:

答案 0 :(得分:2)

我想你正在创造一个胜利形式。注册一个按键事件:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Tab && e.Shift)
    {
        // act like a backspace is pressed
    }
    else if (e.KeyCode == Keys.Back)
    { 
       SendKeys.Send("+{TAB}");   // simualte a shift-tab press
    }
}

要解决评论中提到的@ liggett78问题,您可以设置

form.KeyPreview = true;

处理from。的KeyDown事件中子控件的所有关键事件。

编辑:为了防止在按BACKSPACE时删除文本框中的字符,您可以:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Back)
    {
        e.SuppressKeyPress = true;
        SendKeys.Send("+{TAB}"); 
    }
}

答案 1 :(得分:0)

覆盖表单上的ProcessDialogKeyProcessTabKey