If you are looking for a generalized solution and in order, basing it on the visual ordering of the tree (as opposed to an organized layout), I think that would not be so bad. However, I have not heard about this.
Most of the forms for entering a phone number or credit card that I have seen with this behavior, honestly, just hardcode the next field in the corresponding change handler when the correct character number is entered.
Since it seems to you that your autofocus solution (for 3 characters) will already require some kind of connection to the event, tracking the TextChanged event, could you just go ahead and either 1) the Focus () hard code to the next form element which you know 2) use the Tag property to save the name of the control you want to focus on, then do FindName + Focus or 3) do some kind of VisualTreeHelper (or search for a logical tree through peers)?
source share