我目前有一个带有许多文本框/按钮的WPF窗口。目前,当您尝试使用TAB键在对象之间导航时,您会听到'DING'并且焦点未更改为TabIndex中的下一个对象。
以下是显示TabIndex数字时窗口的样子。
所有对象都将TabStop设置为True。
答案 0 :(得分: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"但重点改变了我想要的第一个。