Создайте новый экземпляр формы каждый раз, когда вам это нужно.
- В Form1_Load вы устанавливаете данные.
- На btnSave_Click вы сохраняете данные и закрываете форму.
- На btnCancel_Click вы закрываете форму.
Если вы не можете создавать экземпляр формы каждый раз, когда вы можете рассмотреть возможность использования пользовательского элемента управления, который вы создаете вместо него.
Отчасти, если вы используете WPF, вы можете привязать GUI напрямую к структуре данных.
В WinForms вы можете напрямую привязать некоторые элементы управления, такие как Grid / PropertyList / и т. Д.
Вы можете использовать Reflection для автоматической итерации элементов управления формами, но это немного сложно.