我正在开发一个应用程序,它使用在运行时交换的大量面板。通过处理 keydown 事件并检查应用程序的当前“状态”以确定如何路由键来控制面板的交换。
我在表单设计器中做一些清理工作,移动面板和标签,现在我以某种方式禁用了我的主表单在我的 keydown 事件中拾取 tab 键的能力。我仍然得到所有其他键,包括输入键。
代码没有改变,并且经过大量测试,可以使用 Tab 键正常运行,所以我只能想象我在设计器中玩时不小心关闭了一些重要的属性。
我在主窗体中打开了 keypreview。由于我收到其他关键事件,我不相信我的 keydown 处理程序工作不正确。不知何故,我的表单刚刚停止输入制表键。TabIndexes 是按顺序编号的,但它们并不重要,因为我使用 keypreview 来处理事件,然后让 tabindex 确定它的下一个跳转。
我认为这对于曾经去过那里并与之抗争过的人来说可能是一件容易的事。我有 Tab 键仍在运行的备份,但我今天在逻辑上取得了飞跃,所以我还没有准备好回滚或对表单上的每个对象进行并排比较。