Ennor » 10.11.2004 (Ср) 1:05
Я делал так. Есть окно настроек, 6 закладок, на каждой не меньше 10-15 контролов (а то и больше, как с настройками шрифтов для подсветки кода). У каждого контрола на форме есть тэг. Внутри программы все настройки хранятся с специализированной коллекции, оптимизированной для работы с реестром. Ключом для элементов оной являются как раз тэги контролов. При нажатии на кнопку OK я пробегаю в цикле по всем контролам (For Each V in Me.Controls), там делаю небольшой If TypeOf V Is ... (действительно небольшой, всего 4 или 5 вариантов получилось), и имеющееся в контроле значение вне зависимости от того, изменилось оно или нет, сохраняю в коллекцию. По окончании этого процесса вызываю у коллекции метод Save, который таким же образом в цикле For Each пишет все свое содержимое в реестр. Так вот на K6-300 с 256 метрами памяти и 13-гиговым UDMA-33 фуджиком я времени сохранения данных не замечал, т.е. объективно это занимало не больше полсекунды.
Если найду, выложу исходники этого класса - вещь тогда получилась довольно универсальная...