У меня есть WinForm с строкой меню, меню и пунктом меню (называемым BlaBlub).
пункт меню имеет CheckOnClick = True
и (ApplicationSettings)->(PropertyBindings)->Checked
, сопоставленные с настройкой SomeBool
(тип bool, scope user,начальное значение = false)
значение правильно считывается из файла настроек (я использую метку, чтобы проверить его, а также пункт меню выбирается / отменяется, когда я делаю изменения в файле между сессиями).
Однако, используя следующий код, я не смог открыть приложение, щелкнуть по пункту меню и сохранить измененное значение обратно в файл
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Properties.Settings.Default.Save();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = string.Format("Value is: {0}", Properties.Settings.Default.SomeBool);
}
Мне удалось сохранить значение обратнов файл, используя следующий код, но так как это не кажется идиоматическим подходом, я все же ищу некоторый взгляд на то, как это сделать.
private void blaBlubToolStripMenuItem_CheckedChanged(object sender, EventArgs e)
{
Properties.Settings.Default.SomeBool = blaBlubToolStripMenuItem.Checked;
}