Make a field Read Only after first entry

We have a situation where once a field has been populated by the user, we want that field to be locked for further editing (i.e Read Only).

I have seen other questions and answers in the forum suggesting:

1. Use a workflow - I can't see anywhere in workflow how you can change the field level settings to Read Only.

2. Use Dependencies - for non drop down I can only see a Visible If option in Studio

3. Use Drop Down Dependencies - The field is a date field - I'm not sure Dependent Drop Downs would work anyway.

4. Role Based Views - Can't see that being a solution.

5. Use custom code - site is sugar on demand so not an option.

Any ideas at all - I don't think it is possible ?

Thanks in advance for any ideas.