为什么WPF中任何元素的TabIndex属性都是2147483647?

发布于 2024-11-08 18:39:03 字数 153 浏览 0 评论 0原文

WPF 应用程序中,任何元素的默认 TabIndex = 2147483647
为什么是2147483647
为什么不是其他数字?
我错过了什么吗?
我只是感兴趣。

In WPFapplication by default TabIndex = 2147483647 for any element.
Why it is 2147483647?
Why not any other number?
Am I missing something?
I'm just interested.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

递刀给你 2024-11-15 18:39:03

该数字是 MaxInt,即 2^31 - 1(请参阅此处),

因为您不可能为自己选择更高的数字制表符索引,这可以确保新控件永远不会改变现有的制表符顺序(如果已手动指定)。

This number is MaxInt, or 2^31 - 1 (see here)

As you cannot possibly choose a higher number for your own tab indices, this ensures that new controls never alter an existing tab order, if one has been manually specified.

随梦而飞# 2024-11-15 18:39:03

我只是在这里猜测,但我可以想到一个原因。

假设您的窗体上已经有三个控件,TabIndices 1、2 和 3。现在,如果您在其他控件下面添加第四个控件,它最初不会破坏您的 Tab 顺序。而如果索引为 0 或 1,您的 Tab 键顺序就会混乱,您将被迫立即更改索引。

另一个原因可能是,这样您可以先添加所有控件,然后再设置选项卡顺序。首先将第一个控件设置为 0,第二个控件设置为 1,等等。如果所有控件都已经为 0,那么在实际看到任何结果之前,您将需要做大量工作。

这有什么意义吗?

I am just guessing here but I can think of one reason.

Let's say you already have three controls on your form, with TabIndices 1, 2 and 3. Now if you add a fourth control underneath your others, it won't initially break your Tab order. While if the index would have been 0 or 1, your tab order would have been messed up and you would be forced to change the index immediately.

Another reason could be that this way you could first add all your controls and set up the tab order later. You would start by making your first control 0, the second 1, etc. If all controls would already be 0, you would have a lot of work before you could actually see any results.

Does this make any sense?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文