返回一个选项卡索引

本文关键字:选项 索引 一个 返回 | 更新日期: 2023-09-27 18:22:25

可能是一个简单的文本框,有十几个文本框,每个文本框包含一个字符。我试图处理delete键以清除当前文本框中的当前文本,然后我希望它通过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}");

也许有更好的方法。

返回一个选项卡索引

您可以使用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}");,但这是一个有点棘手的解决方案。