Pour plus de classes dérivées d'une classe de base I decided pour avoir un UserControl de base et dérivés pour chaque classe dérivée (pour la visualisation, boîte sur le côté droit de l'image).Paramètres généralisés Classes de paramètres UI +
Maintenant, chacun des UserControls dérivés ont des paramètres spécifiques (rectangle rouge à gauche) Les paramètres UI est un UserControl séparé (peut être déplacé librement, mis en boîte de dialogue séparée si trop grand ...) et a une classe de données sous-jacente qui change (l'instance de cette classe est membre du UserControl principal).
alt text http://a.imageshack.us/img651/2710/46937664.png
Cela me amène à la création d'une tenue de classe distincte (et peut-être sauver) les données de réglage, UserControl séparés pour définir les valeurs et la connexion manuellement tous ensemble.
Ce n'est pas la première fois que je rencontre un problème similaire, j'ai donc commencé à penser à une interface classe + me permettant de créer facilement les classes de stockage de données et de générer les commandes utilisateur. Mon idée est quelque chose comme
class SettingsItem
{
string name;
TypeEnum type;
double value; //how about different types eg. bool? Inheritance?
}
La classe de paramètres serait une liste de ces éléments. Pour chaque type, il y aurait une seule valeur UserControl (checkbox/textbox/numericfield + description). Une boucle foreach
créerait le UserControl final (une valeur UC un sous l'autre). D'un côté, j'aime cette idée comme un défi intrigant et un soulagement potentiel de l'ennui, répétitif et fastidieux en mettant de plus petits carrés dans les plus grands et en les alignant. D'un autre côté, cela me semble un peu comme tuer une mouche avec un fusil de chasse.
Existe-t-il une solution standard/prête à cela? Une meilleure façon de le faire? Ou est-ce simplement une solution trop complexe à un problème mineur? Je serai heureux de voir des réponses, des suggestions, des remarques ...