1

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

这是显示 TabIndex 数字的窗口的样子。

示例图像

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

4

1 回答 1

0

不是最漂亮的解决方案,但它有效。

表单初始化调用

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;
        }

    }

这仍然会产生“DING”,但焦点会发生变化,这正是我最初想要的。

于 2014-04-11T03:00:09.413 回答