 <p>Something like this should be good:</p> <pre><code>MyConfigurationDialog dialog = new MyConfigurationDialog(); //Copy the dictionary so that the dialog can't mess with our settings dialog.Settings = new Dictionary(existingSettings); if(DialogResult.OK == dialog.Show()) { //grab the settings that the dialog may have changed existingSettings["setting1"] = dialog.Settings["setting1"]; existingSettings["setting2"] = dialog.Settings["setting2"]; } </code></pre>