Consider setting the Enabled property of the controls to False on open and True on button click. You only mentioned a couple of controls, so maybe you'd need a more robust procedure if there are a lot of them that need to be cycled. For this I'd use a procedure that reads a tag for those controls (see property sheet Tag property) and cycle through the form controls collection. You probably would want to reverse the enabled property after some sort of event, but you didn't indicate that was desired.
Usually, locking controls keeps lower level users from editing certain fields, but I don't see any indicator that security is coming into play, so does it make sense to introduce an unlocking step if just anyone can invoke it?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.