我有以下代码:

this.searchInput.KeyPress + =新的System.Windows.Forms.KeyPressEventHandler(this.inputKeypress);

私有void Keypress(对象发送者,KeyPressEventArgs e)
{
    //如果已按下Tab键
    if(122 ==(int)e.KeyChar)
    {
        switchTab(sTab);
        MessageBox.Show(sTab);
    }
}


它的作用是将重点放在另一个元素上。
但是,当焦点设置为TextBox并按TAB键时,它只是在TextBox中创建一个选项卡,而没有将焦点设置在下一个元素上。

任何人都知道我该如何进行这项工作?

我试图设置e.Handled = true;但这没用...

最佳答案

您是否尝试过将AcceptsTab上的TextBox设置为false

编辑:


  是的这是行不通的。奇怪...它仍然在文本框中列出


那没有什么意义。我运行了一个小型测试应用程序,并且当TextBoxAcceptsTab属性都为Multiline时,tab键仅将焦点移到true上,而与为KeyPress定义的事件处理程序无关。

您确定其他代码没有将AcceptsTab设置为true吗?如果是,将Multiline设置为false是否会完全改变选项卡的行为?您能否发布更多相关代码?

关于c# - C#禁用TAB键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1468835/

10-12 04:12