当用户浏览字段时,他们必须浏览 LinkLabel 才能进入下一个字段。我宁愿他们直接从一个领域到另一个领域,而不是在 LinkLabel 上停留。但是,在 .NET 3.5 中,LinkLabel 没有设置为 false 的 TabStop 属性。升级到 .NET 4.0 或 .NET 4.5 现在不是一种选择。
我尝试了另外两种可能的方法来跳过不起作用的 LinkLabel。
将 LinkLabel 放在面板上并将面板上的 TabStop 属性设置为 false。LinkLabel 仍然被选项卡到。
处理 LinkLabel 上的 Enter 事件,使用 SendKeys 之类的废话继续下一个控件。这不起作用,因为它使 Click 事件停止触发。
我还考虑将表单上所有 LinkLabels 的 TabIndex 设置为比其他控件高得多的值。但是,这也行不通
每个字段都是面板上带有标签的 TextBox 或 ComboBox。ComboBox 字段在面板上有一个附加控件:一个显示“编辑项目”的 LinkLabel。这些面板中的每一个都位于主 FlowLayoutPanel 上。
如我错了请纠正我。我理解嵌套面板上控件的选项卡顺序的方式是每个面板都有自己的选项卡顺序。然后根据每个Panel的TabIndex依次组合每个的Tab顺序,确定窗体上控件的有效Tab顺序。正确的?因此,按照我的看法,将每个 LinkLabel 的 TabIndex 设置为 200 秒的数字并不能解决原始问题。
有人见过这个挑战吗?你是怎么解决的?我觉得我可能必须做一些激烈的事情,比如将 LinkLabel 控件子类化。你会怎么做?