there's 5 variables involved here (at least), all dependent on EXACTLY what you mean and you want.
example:
you say he changes a field and the form becomes read only. for sake of discussion, let's say its a field "Paid in Full" (PIF).
makes sense - once this record is PIF you can't edit ALL or SOME fields (this is one scenario)
IF its SOME fields, you could put them in a Separator group - with a condition.
OR ALL fields in one big group on the screen.
(but this may fail if you're already using some Sep groups and visibility, but maybe you're not - we don't know - no pictures supplied yet)
Don't like the "border" of the Sep group - thats the CSS legend and can easily be hidden.
Is there a SAVE of the form involved? Or as you say, just typing something in a field?
Do you want the user to have to SAVE the form?
How about click a non-save button.
Some fields can auto-save the form when its changed and you lose focus.
The presentation rules you put on a field evaluate when the Form is drawn the first time - so you have options there if you can close this form and re-display it.
Of course, if you really want ALL fields to be read-only, AND you can get a process to redraw the form (VIEW Invoice USING aaa) THEN you can add "NOEDIT" to the end of the VIEW and its read-only.
Oh, then there's READ PROTECT which can fire from a Rule, which is marked DYNAMIC, can fire when this field/button/??? is changed.
So, lots of ways to go, and there's no simple answer to your Q without seeing anything.
I'm sure I could think of a few more options, but its based on these unknowns presented here as to whats available.