Мне нужно сохранить и восстановить настройки для определенных элементов управления в форме.
Я перебираю все элементы управления и возвращаю тот, чье имя совпадает с тем, которое я хочу, вот так:
private static Control GetControlByName(string name, Control.ControlCollection Controls)
{
Control thisControl = null;
foreach (Control c in Controls)
{
if (c.Name == name)
{
thisControl = c;
break;
}
if (c.Controls.Count > 0)
{
thisControl = GetControlByName(name, c.Controls);
if (thisControl != null)
{
break;
}
}
}
return thisControl;
}
Исходя из этого, я могу определить тип элемента управления и, следовательно, свойство, которое должно быть сохранено.
Это работает хорошо, если элемент управления не принадлежит к семейству ToolStrip, которое было добавлено в toolstrip. например, * +1008 *
this.toolStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.lblUsername, // ToolStripLabel
this.toolStripSeparator1,
this.cbxCompany}); // ToolStripComboBox
В этом случае при отладке я вижу интересующий меня элемент управления (cbxCompany), но свойство name не имеет значения, поэтому код не соответствует ему.
Любые предложения о том, как я могу получить к этим элементам управления тоже?
Ура,
Мюррей