Вы должны использовать открытые свойства вместо того, чтобы поместить ваши данные в контекст:
var saveData = MyApp.Properties.Settings.Default;
saveData.user = textBox1.Text;
saveData.pass = textBox2.Text;
Контекст
предоставляет контекстную информацию, которая
поставщик может использовать при сохранении
Настройки
и в моем понимании не используется для хранения фактических значений настроек.
Обновление: если вы не хотите использовать редактор параметров в Visual Studio для создания строго типизированных свойств, вы можете написать его самостоятельно. Код, сгенерированный VS, имеет такую структуру:
[UserScopedSetting]
[DebuggerNonUserCode]
[DefaultSettingValue("")]
public string SettingName
{
get { return ((string)(this["SettingName"])); }
set { this["SettingName"] = value; }
}
Вы можете легко добавить дополнительные свойства, отредактировав файл Settings.Designer.cs.
Если вы не хотите использовать свойства со строгим типом, вы можете напрямую использовать индексатор this[name]
. Тогда ваш пример будет выглядеть так:
var saveData = MyApp.Properties.Settings.Default;
saveData["user"] = textBox1.Text;
saveData["pass"] = textBox2.Text;