You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
BDisp
added a commit
to BDisp/Terminal.Gui
that referenced
this issue
Mar 26, 2024
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 View2TabIndex
be + 1 from the last control inView1.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 noTabIndex
and i set theTabStop
to false, the views with noTabIndex
andTabStop
set to false are still listed in theTabIndexes
list which inflates the list with controls. As a consequence, the value i put in forTabIndex
for controls which i want to interact with theTab
key is overridden by their order in theTabIndexes
list.Thus, if i have a view with a
Label
withTabStop = false
and nothing set forTabIndex
, and aTextField
withTabStop = true
andTabIndex = 1
, and I repeat that pattern say 3 times incrementing theTabIndex
by 1 for eachTextField
so the nextTextField.TabIndex = 2
then 3, etc. the values reported for theTextField
in the parentView.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 particularView
should be a tab stop, but it is overwriting the values which are present and making it difficult for me to compute the correctTabIndex
of a joinedView
.The text was updated successfully, but these errors were encountered: