The easiest approach is probably to have a form event that checks the state of the Part and disables/enables the form fields accordingly. You can find examples to get you started in the Disable Form Fields blog post and community project.
It's important to note that the form event approach will not prevent changes to the Part that are executed via code, AML, or another client. If you want to prevent server-side changes as well, I'd recommend an onBeforeUpdate server event that checks the state of the Part and any changes being made. You can then strip out any invalid changes or throw an error.
Aras Labs Lead Engineer