MSDN.WhiteKnight - Stack Overflow answers
Ответ на "Как программно добавить и прочитать новое свойство в конфигурацию пользователя?"
Answer 1156279
Вы не учитываете маленькую деталь. Settings API - это очень топорная вещь, рассчитанная на стандартный сценарий "конфигурировать набор свойств, заданный на этапе разработки". Если вы просто так добавляете что-то на лету в файл user.config, оно не будет волшебным образом считываться, так как программа тупо не знает о существовании этого нового свойства. Это значит, что свойство нужно создавать всегда, даже когда оно уже есть в файле. И делать это аккуратно, копируя существующее эталонное свойство и меняя в нем что нужно, а не заполнять все с нуля и гадать, хватит или не хватит. То есть код _setFormSize должен выглядеть как-то так:
Type t = GetType(); string propName = t.Name+"_FormSize"; var baseProp = Properties.Settings.Default.Properties["FormSizeBase"]; var prop = new SettingsProperty(baseProp) { Name = propName }; Properties.Settings.Default.Properties.Add(prop); Properties.Settings.Default.Reload(); Size formSize = (Size)Properties.Settings.Default[propName]; if (formSize.Width > 0 && formSize.Height > 0) { Size = formSize; } else { Properties.Settings.Default[propName] = Size; Properties.Settings.Default.Save(); }
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.