I would do that with application settings, using the
My.Settings Object. You could create a setting named BGColor and set it's type to
System.Drawing.Color. Then when the color is set by the user save it to that setting
vb
'Set the new color
My.Settings.BGColor = MyDialog.Color
'Save the settings (so they're persisted)
My.Settings.Save()
This will persist the color (and will also load that color next time the user runs your application. Then, in your form's
Load event set the color of the form that is loading
vb
'Set the background color of the form
Me.BackColor = My.Settings.BGColor
That line will need to be added to each form when it loads. Unfortunately, unless I have missed something, there isn't a way to set all the forms in a nice single statement, each has to be set manually.
One thing to remember, before applying the color in your application setting make sure it actually exists first, or set a default value for it. Read through that link I provided, there is some good information there, and at the bottom is a few links to show how to use what I'm talking about

Hope that helps