Question for Chris Glazier , et al...
Either I am confused or Managed WinForms COBOL seems to present some unique aspects perhaps not normally found in other .NET or OOP languages, due to the possibility of a mix of COBOL's tradition of fixed-length fields ( example: CONTACT PIC X(30) ) along with the aspect of variable length strings, winforms textbox controls, etc.
Scenario: A winforms-with-textboxes file maintenance program used to maintain a traditional COBOL Indexed file which has fixed-length fields.
Look at your shareData example program (although it doesn't use a file, it is an example of doing maintenance to fixed length fields via winforms textboxes).
Let's say you had a similar maintenance program using this/these screens to do maintenance against existing records already in the file. Once you bring the existing record up and show the fields in textboxes, you would be allowed to make changes to the fields (and the record would be rewritten the file, etc.).
Question1: In this scenario, where would you want the cursor / caret / insertion position to be initially located within the textbox showing the existing data field ???
Answer: I submit that you would want it to be located to the immediate right of the right-most non-space character. (as a weak 2nd choice, have it located at the very front of the field in front of the 1st character.
Question 2: Looking again at shareData and how it currently (and undesirably) behaves in this regard... Is there some known way to do this? (have the cursor / caret / insertion position positioned to the immediate right of the right-most non-space character of the existing field displayed in the textbox)?