2015-09-10 6 views
-1

Я смотрел некоторые учебники и ни один из них не работает ... Я даже изменил мою Visual Studio с 2015 в 2010 году, ничего не работает ...Сохранение параметров пользователя в C#

Вот код:

private void button1_Click(object sender, EventArgs e) 
{ 
    WindowsFormsApplication3.Properties.Settings.Default.label = label1.Text; 
    WindowsFormsApplication3.Properties.Settings.Default.Save(); 
} 

private void Form1_Load(object sender, EventArgs e) 
{ 

    label1.Text = WindowsFormsApplication3.Properties.Settings.Default.label; 
} 

В lABEL1 настройки приложения Я сделал установку с:

название: этикетки; Тип: String; Область применения: Пользователь; Значение: видели;

Когда я нажимаю кнопку в программе, абсолютно ничего не происходит: |

+1

Параметр 'Form1_Load' происходит перед' button1_Click' события, так что метка не будет обновляться до тех пор, пока форма не будет перезагружена. И если вы не измените текст в 'label1', вы фактически не внесете никаких изменений в первую очередь. – Ulric

+0

Как вы пытаетесь сохранить параметры? – Sean

+0

Ярлыки не редактируются, поэтому как вы изменяете значение метки перед сохранением нового значения? – MikeT

ответ

0

Я думаю, что ваши ожидания могут быть немного неправильно на то, что должно произойти

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     WindowsFormsApplication1.Properties.Settings.Default.Label = label1.Text + "!";//change the value 
     WindowsFormsApplication1.Properties.Settings.Default.Save(); //save the change 
     WindowsFormsApplication1.Properties.Settings.Default.Reload(); //instruct the form to reload the settings from the file 
     label1.Text = WindowsFormsApplication1.Properties.Settings.Default.Label; //update the label text to show the change 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     label1.Text = WindowsFormsApplication1.Properties.Settings.Default.Label; // set the initial value 
    } 

это работает отлично

Смежные вопросы