.NET 4.x Не сохраняются все настройки в почтовой программе - C#

Узнай цену своей работы

Формулировка задачи:

Пишу почтовик. На одном из этапов появилась идея - сохранять/загружать письма локально. Реализовал. Но путь сохранений прописывал программно, теперь же захотелось, чтоб юзер мог выбирать папку для сохранений, выбор бы запоминался до следующего раза. Для начала решил попробовать с вложениями. На вкладке Параметры в свойствах проекта создал строковый параметр DefaultAttachmentFolder с публичным модификатором, далее в форме добавил лейбл, куда будет выводиться путь, кнопку выбора папки, кнопку сохранения и folderBrowserDialog1. Написал такой код:
public partial class Options : Form
    {
        string folderName;
        public Options()
        {
            InitializeComponent();
            label8.Text += "\r\n" + Properties.Settings.Default.DefaultAttachmentFolder;
        }
        private void button1_Click(object sender, EventArgs e)
        {            
            Properties.Settings.Default.DefaultAttachmentFolder = folderName;
            Properties.Settings.Default.Save();
            MessageBox.Show("Changes successfully saved.");
            Close();
        }
        private void button3_Click(object sender, EventArgs e)
        {
            DialogResult result = folderBrowserDialog1.ShowDialog();
            if (result == DialogResult.OK)
            {
                folderName = folderBrowserDialog1.SelectedPath;
                label8.Text = "Attachments default folder:\r\n" + folderName;
            }
        }        
    }
Все работает нормально. Далее, решил провернуть такой же трюк и для писем. Создал еще лабел, кнопку папки, folderBrowserDialog2. Ну и параметр DefaultSavedMessagesFolder. Написал:
public partial class Options : Form
    {
        string folderName;
        string folderName1;
        public Options()
        {
            InitializeComponent();
            label8.Text += "\r\n" + Properties.Settings.Default.DefaultAttachmentFolder;
            label9.Text += "\r\n" + Properties.Settings.Default.DefaultSavedMessagesFolder;
        }
        private void button1_Click(object sender, EventArgs e)
        {            
            Properties.Settings.Default.DefaultAttachmentFolder = folderName;
            Properties.Settings.Default.DefaultSavedMessagesFolder = folderName1;
            Properties.Settings.Default.Save();
            MessageBox.Show("Changes successfully saved.");
            Close();
        }
        private void button4_Click(object sender, EventArgs e)
        {
            DialogResult result = folderBrowserDialog2.ShowDialog();
            if (result == DialogResult.OK)
            {
                folderName1 = folderBrowserDialog2.SelectedPath;
                label9.Text = "Attachments default folder:\r\n" + folderName1;
            }
        }        
    }
И... не работает! Т.е., при запуске формы, текст на метке8 отображается полностью (пояснение + путь), а на метке9 - только пояснение. Пути программа не видит. Дальше - больше: при нажатиии на кнопку4 и послед. выбора папки, значение вроде бы сохраняется... Но после закрытия и последующего открытия формы уже не виден путь метки8, но виден путь в метке9. При попытке назнаяить путь-8 програ забывает путь-9 и наоборот, и т.д. Что я делаю не так?

Решение задачи: «.NET 4.x Не сохраняются все настройки в почтовой программе»

textual
Листинг программы
folderName = Properties.Settings.Default.DefaultAttachmentFolder;
folderName1 = Properties.Settings.Default.DefaultSavedMessagesFolder;

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы