You have different possibilites:
1. As already written by brathbone use the IgnoreKey in TextBox_KeyPress
2. Use the TextBoxEx library, with the ReadOnly property
http://www.b4x.com/forum/showthread.php?t=1108&highlight=textboxex&page=2
or this library with similars properties
http://www.b4x.com/forum/showthread.php?t=1238
3. Use Label object
Label1.Text="123"
You can play with all the colors
Disadvantages from my point of view:
1. 2. The select highlighting still remains, which can be confusing for the user
3. There is no Border Property
We should remember what the TextBox and Label objects are primary intended for:
Label Display text, when the user has never to edit any data.
TextBox Enter text with a certain number of functions.
The gray text shows the user that at certain steps in the program the editing is disabeled.
Best regards
Klaus
Switzerland