Unless I misunderstood something I think you want to use SaveAsBinary/SaveAsXml to serialize your design-time settings (before ther user changes anything), and then call the LoadFromBinary method when you want to load in the default settings. It is not necessary to call any of the control's Reset methods before loading, as the method does that before streaming in the new property values.