An array of panels for a configuration window

Tech-Archive recommends: Speed Up your PC by fixing your registry



Hi all again,

My application has a configuration window that is currently using a tabcontrol to separate the different logical aspects of configuring it. That is all well and fine, but I am soon going to have enough pages that this will look really crowded. I decided that the most elegant solution would be to go for a treeview where you select the category, and then the right side of the window will display a panel that contains the related configuration options.

Currently, we're talking about 5-10 pages of configuration settings, and it might expand to 15-20 in the near future. What I thought of doing was to have an array of settings, something like this in psuedo-code:

(A ConfigPage contains the Path (from the treeview), a display string for the top right part of the window, and the panel to be displayed when the Path node is the current one).

ConfigPage[] ConfigPages =
{
	{"MyApp", "MyApp Configuration Settings", pConfigIntro},
	{"MyApp\Data", "MyApp Data Settings", pDataPage},
	{"MyApp\GUI", "Graphical stuff", pGUIPage}
}

You probably understand what I mean.

What I am wondering - is this the "correct" way to do it? Is there a more elegant way? Does anyone have any experience from implementing something like this, or any tips'n'tricks for how to make it user friendly and painless for the developer (me) at the same time?

Also, where should I define this array for C# to not hate me? After the VS2003-generated InitializeComponent() function perhaps?

Thanks for any input!

Rune
.


Quantcast