根据我在发布的答案(link's here)上收到的评论,我有一个问题。如果我强迫将焦点放在某个winform元素上会出现什么问题呢?
即。这个方法有什么问题(在容器/面板/框架......组件中循环焦点):
private void containers_max_tabindex_element_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyValue == 9 )
element_that_has_tabindex_equal_to_containers_min_tab_index_minus_1.Focus();
}
我已经使用这种方法好几个月了,到目前为止一直很好,没有来自最终用户的投诉
答案 0 :(得分:1)
这当然是胡说八道,当你按Tab键时,Winforms已经默认了。您不会赢得代码片段的任何奖品,当您将焦点设置为禁用的控件时,它会失败。更好的方法是重写ProcessCmdKey()以识别Keys.Tab。返回true,以便Winforms不会尝试Tab键到下一个控件。