I am having an Opportunity object there is a field named "stage(picklist)", when I selected "selected won" from picklist "amount" field must become "read only"
As an alternative, you could also create a validation rule that doen't allow changes to the amount field when the stage is in Closed Won.
So for example:
AND( ISPICKVAL(StageName, "Closed Won") , ISCHANGED(Amount) )
The dis-advantage with this solution however is that your user will only get this error message on-save while with a record type / page layout change, they would immediatly see that they can't change the amount field anymore.
An advantage is though that you don't need a seperate recordtype / page layout to maintain.
Probably depends if there would also be other fields that users would not be allowed to change anymore, then a recordtype / page layout would be better. If it's only one field that they can't change anymore, validation rule would be easier to maintain.
You give a try with validation rule for your case with reference to this example - http://www.techlogbooks.com/2019/02/how-to-prevent-changes-to-field-in.html