Discussed in #3319
Originally posted by dasien March 13, 2024
Hello,
I was hoping to get some clarity on the purpose of the View.TabIndexes list. What i was trying to accomplish was to join two views together, and have the first control on View2 TabIndex be + 1 from the last control in View1.TabIndexes.
What i am finding is that regardless of what i put for the TabIndex value for controls in View 1, even if i say that certain controls have no TabIndex and i set the TabStop to false, the views with no TabIndex and TabStop set to false are still listed in the TabIndexes list which inflates the list with controls. As a consequence, the value i put in for TabIndex for controls which i want to interact with the Tab key is overridden by their order in the TabIndexes list.
Thus, if i have a view with a Label with TabStop = false and nothing set for TabIndex, and a TextField with TabStop = true and TabIndex = 1, and I repeat that pattern say 3 times incrementing the TabIndex by 1 for each TextField so the next TextField.TabIndex = 2 then 3, etc. the values reported for the TextField in the parent View.Tablndexes list is 1,3,5,7 respectively rather than the 1,2,3,4 i set.
I am confused why something is overwriting my set TabIndex values on controls at all and if there is a way for me to turn that off. I could understand the system taking a best guess if i don't put values in and don't also turn off the fact that a particular View should be a tab stop, but it is overwriting the values which are present and making it difficult for me to compute the correct TabIndex of a joined View.
Discussed in #3319
Originally posted by dasien March 13, 2024
Hello,
I was hoping to get some clarity on the purpose of the
View.TabIndexeslist. What i was trying to accomplish was to join two views together, and have the first control on View2TabIndexbe + 1 from the last control inView1.TabIndexes.What i am finding is that regardless of what i put for the
TabIndexvalue for controls in View 1, even if i say that certain controls have noTabIndexand i set theTabStopto false, the views with noTabIndexandTabStopset to false are still listed in theTabIndexeslist which inflates the list with controls. As a consequence, the value i put in forTabIndexfor controls which i want to interact with theTabkey is overridden by their order in theTabIndexeslist.Thus, if i have a view with a
LabelwithTabStop = falseand nothing set forTabIndex, and aTextFieldwithTabStop = trueandTabIndex = 1, and I repeat that pattern say 3 times incrementing theTabIndexby 1 for eachTextFieldso the nextTextField.TabIndex = 2then 3, etc. the values reported for theTextFieldin the parentView.Tablndexeslist is 1,3,5,7 respectively rather than the 1,2,3,4 i set.I am confused why something is overwriting my set
TabIndexvalues on controls at all and if there is a way for me to turn that off. I could understand the system taking a best guess if i don't put values in and don't also turn off the fact that a particularViewshould be a tab stop, but it is overwriting the values which are present and making it difficult for me to compute the correctTabIndexof a joinedView.