';丁';C#/WPF中的TabStop

';丁';C#/WPF中的TabStop,c#,wpf,textbox,tabstop,C#,Wpf,Textbox,Tabstop,我目前有一个WPF窗口,其中有许多文本框/按钮。当前尝试使用TAB键在听到的对象之间导航时,焦点不会更改为TabIndex中的下一个对象 下面是我看到的窗口,其中显示了TabIndex编号 所有对象的TabStop都设置为True。不是最漂亮的解决方案,但它可以工作 关于表单初始化调用 this.KeyUp+=new System.Windows.Forms.KeyEventHandler(KeyEvent) 然后利用此功能抓取TAB键并处理焦点 private void KeyEvent(o

我目前有一个WPF窗口,其中有许多文本框/按钮。当前尝试使用TAB键在听到的对象之间导航时,焦点不会更改为TabIndex中的下一个对象

下面是我看到的窗口,其中显示了TabIndex编号


所有对象的TabStop都设置为True。

不是最漂亮的解决方案,但它可以工作

关于表单初始化调用

this.KeyUp+=new System.Windows.Forms.KeyEventHandler(KeyEvent)

然后利用此功能抓取TAB键并处理焦点

private void KeyEvent(object sender, KeyEventArgs e) //Keyup Event 
    {
        if (e.KeyCode == Keys.Tab)
        {
            ++iFocusCount;
        }
        else if (e.KeyCode == Keys.Tab && e.KeyCode == Keys.Shift)
        {
            --iFocusCount;
        }
        switch (iFocusCount)
        {
            case 0:
                contactBox.Focus();
                break;

            case 1:
                incidentBox.Focus();
                break;
            case 2:
                actionsListBox.Focus();
                break;
            case 3:
                profilesListBox.Focus();
                break;
            case 4:
                currentLatchBox.Focus();
                break;
            case 5:
                daysBox.Focus();
                break;
            case 6:
                calculateDateButton.Focus();
                break;
            case 7:
                copyButton.Focus();
                break;
            case 8:
                notesTextBox.Focus();
                break;
            case 9:
                keycodeBox.Focus();
                break;
            case 10:
                xnaBox.Focus();
                break;
            case 11:
                generateTamButton.Focus();
                break;
            case 12:
                generateNotesButton.Focus();
                break;
            case 13:
                sendEmailButton.Focus();
                break;
            case 14:
                saveButton.Focus();
                break;
            case 15:
                clearLabel.Focus();
                break;
            case 16:
                iFocusCount = 0;
                contactBox.Focus();
                break;
        }

    }

这仍然会产生“叮”声,但焦点会发生变化,这正是我首先想要的。

将e.SuppressKeyPress设置为true将抑制“叮”声。