Hi agraham.
Had a little play with your code. Attatched.
On the Desktop.
When ReadOnlyTextBox.ReadOnly = 'True or False' the textbox remains white and the text is black.
On my Device.
When ReadOnlyTextBox.ReadOnly = True the entire texbox is gray and the text is black.
When TextBox2.Enabled = False, the textbox remains white and the text is gray on both Desktop and Device.
Not sure if this is a useless post. It was just an observation.
What I do know is that if I start a new #Sharp project and use your code, It will compile and run on the Desktop, but not my device :sign0148: