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

3

WPF应用程序中,默认情况下任何元素的TabIndex = 2147483647
为什么是2147483647
为什么不是其他数字?
我有什么遗漏的吗?
我只是感兴趣。


2
数字2147483647是32位有符号整数的最大值。它也是第八个梅森素数:http://en.wikipedia.org/wiki/2147483647 - undefined
2个回答

11

这个数字是MaxInt,或者2的31次方减1(请参见这里)。

由于您不可能为自己的选项卡索引选择更高的数字,因此如果已手动指定了选项卡顺序,则可以确保新控件永远不会改变现有的选项卡顺序。


1

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

假设您的表单上已经有三个控件,TabIndex分别为1、2和3。现在,如果您在其他控件下面添加第四个控件,它不会打乱您的Tab顺序。而如果索引为0或1,您的Tab顺序将会混乱,您将被迫立即更改索引。

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

这有道理吗?


是的,你的回答很有帮助。但是你说你只是在猜测。不管怎样,还是谢谢你。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接