Best way to pass a large number of arguments into a configuration dialog
<p>I've got a situation where I have a main form that pops up an advanced configuration form that just has half a dozen matched check boxes and combo boxes to select some advanced options (the check boxes to enable/disable, the combo to select a media if enabled).</p>

<p>If I just pass the individual settings for the check and combo boxes in to the constructor for the dialog that's obviously a dozen arguments, which seems a bit excessive.</p>

<p>My other obvious option would be since in the main form these settings are stored in a large IDictionary with all the other main form settings I could just pass this dictionary in and fetch it back afterward with the updated values, but my understanding is that this wouldn't really be very good coding practice.</p>

<p>Am I missing a good way to do this that is both efficient and good coding practice?</p>

<p>(this particular code is in C#, although I have a feeling a general solution would apply to other languages as well)</p>
