What you need to do is create one generic form, and on the OnLoad event use a logical argument to check the OpenArgs and from there determine which controls are visible, editable etc.
Each button will send a different OpenArgs to the form. For example your add new record button might have...