Вы не можете добавлять настройки напрямую (по крайней мере, не редактируя XML-файл конфигурации во время выполнения), но вы можете подделать его.
В моем случае у меня была группа идентичных пользовательских элементов управления в форме, и я хотел сохранить состояние выполнения каждого элемента управления. Мне нужно было сохранить состояние каждого элемента управления, так как каждый из них имел разные данные.
Я создал новый параметр StringCollection с именем ControlData и поместил туда свои собственные данные. Затем я загружаю данные из этого списка и использую их для инициализации своих элементов управления.
Список выглядит так:
Box1Text=A
Box1List=abc;def;foo;bar;
Box2Text=hello
Box2List=server1;server2;
В моем коде запуска я читаю пары ключ / значение следующим образом:
foreach (string item in Properties.Settings.Default.ControlData) {
string[] parts=item.split('=');
parts [0] будет иметь ключ, а parts [1] будет иметь значение. Теперь вы можете делать вещи на основе этих данных.
Во время фазы выключения я делаю обратное, чтобы записать данные обратно в список. (Переберите все элементы управления в форме и добавьте их настройки в ControlData.