Ability to conditionally make fields read-only in forms

I would like to be able to do things like make the record read-only (Remove edit) based on another form field when the record is updated.

And example is someone makes a request and creates a record, they made a mistake so can edit it but when another user then changes the status of that record (A field the first person can see but not edit, another issue) to In Progress the first user now should not be able to edit it anymore.