2017-08-12 92 views
0

大家好!C#永久性添加並保存項目到組合框

我收集了combobox屬性中的項目。我希望通過寫在組合框中的文字在我的組合框添加新的項目,然後用按鈕事件:

private void button2_Click_1(object sender, EventArgs e) 
    { 
     cbx_unix_dir.Items.Add(cbx_unix_dir.Text); 
    } 

但在我開始PROGRAMM的下一次 - 我添加的項目中不存在的組合框。我錯了什麼?我需要所有添加的項目都保存在我的組合框中。可能是方法InitializeComponents()中的問題?可能是我必須在它之前添加事件嗎? 非常感謝。

+0

你需要以不同的方式接近這一點,從應用程序設置輔助載一組額外的組合框的設置,並將它們添加到組合框或將它們從文件加載,目前您將它添加到組合框中,但從未保存或保留,因爲它未添加到初始化代碼中。 –

+0

Ali Adlavaran,謝謝。但我如何在設置中添加cboCollection? – Dima

+0

評論他的回答,但你會添加一個字符串列表或類似的列表 –

回答

2

ComboBox沒有保存和重新加載項目的功能。

您可以存儲在關閉窗口物品進入.NET Settings file和重新加載它們裝載形式:

private void Form1_Load(object sender, EventArgs e) 
    { 
     if (Settings.Default.cboCollection != null) 
      this.cbx_unix_dir.Items.AddRange(Settings.Default.cboCollection.ToArray()); 
    } 


    private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     ArrayList arraylist = new ArrayList(this.cbx_unix_dir.Items); 
     Settings.Default.cboCollection = arraylist; 
     Settings.Default.Save(); 
    } 

    //A button to add items to the ComboBox 
    private void button2_Click_1(object sender, EventArgs e) 
    { 
     cbx_unix_dir.Items.Add(cbx_unix_dir.Text); 
    }