返回一个标签索引

时间:2012-02-05 08:25:32

标签: c# textbox tabs keyboard

可能很简单,有十几个文本框,每个文本框都包含一个字符。我正在尝试处理删除键以清除当前文本框中的当前文本,然后我希望它通过go减去选项卡索引并返回编辑上一个文本框。我不知道如何引用当前文本框的选项卡索引并返回一个。转到下一个我只是为'TAB'执行发送键。

在我的keyprocess函数中我有:

//DEL goes back one text box and clears it
            if (keyData == (Keys.Delete))
            {
                //Clear textbox
                //Go back one textbox to edit
                return true;
            }

一旦我完成了我正在发送的文本框的编辑:

 SendKeys.Send("{TAB}");

也许有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:2)

您可以使用GetNextControl方法找到之前的TextBox

if (e.KeyCode == Keys.Delete)
{
    var textBox = ((TextBox) sender);
    textBox.Text = string.Empty;

    var previous = textBox.Parent.GetNextControl(textBox, false);
    if (previous != null)
        previous.Focus();

    e.Handled = true;
}

或者@Mr Lister建议你可以发送SHIFT + TAB组合键:
 SendKeys.Send("+{TAB}");但这是一个有点愚蠢的解决方案。