2016-06-09 75 views
0

我有認爲是由員工選擇員工姓名的組合框。當我通過單擊按鈕爲組合框添加名稱時,是否有方法在下次啓動程序時在組合框中保留名稱?下面是我的代碼,添加我知道需要在列表中的員工姓名,然後添加名稱到組合框的代碼。C#項目保存添加到組合框

private void employeeSelect_Load(object sender, EventArgs e) 
    { 
     cboEmpName.Items.AddRange(new string[] { "John", "Roger", "Bill", "Jason", "James" }); 
    } 


private void addTechbtn_Click(object sender, EventArgs e) 
    { 
     if (!string.IsNullOrEmpty(txtAddTech.Text)) 
     { 
      cboEmpName.Items.Add(txtAddTech.Text); 
      txtAddTech.Clear(); 
      MessageBox.Show("Technician has been added"); 
     } 
     else 
     { 
      MessageBox.Show("Enter a name to add to the list"); 
     } 
    } 
+1

爲此,您可以通過在數據庫或其他一些媒體(應用程序中的不硬編碼)保存員工姓名。 –

+1

您需要存儲來加載和保存數據。它可以是一個數據庫,文件,設置等 –

+1

如果你想關閉你的應用程序後,有你的數據,你應該把它保存在一個數據庫或其他存儲設備。 – Hamed

回答

0

有多種選擇可用。

在某些時候,答案歸結爲當務之急。我會說你會得到這些選項:

  1. 您可以存儲在本地文件系統,並在窗體加載時再次閱讀它們。
  2. 序列化並將其存儲在註冊表中(HKEY_CURRENT_USER - 用戶特定)
  3. 將其存儲在數據庫中,並在需要時再次檢索它。
  4. .NET Application settings,提供了在運行時訪問您的 設置最簡單的方法(選中此Example)。
1

如果您只想保留用戶選擇的最後一個值,UserSetting是保存此類值的最佳位置。

聲明用戶設定值 -

右鍵點擊您的項目>>轉到屬性>>設置

說值爲EmployeeNameCombovalue,那麼你可以這樣寫的值 -

var empNameVal = Properties.Settings.Default.EmployeeNameCombovalue; 

,並保存在它的一些價值 -

Properties.Settings.Default["EmployeeNameCombovalue"] = cboEmpName.Text; 
Properties.Settings.Default.Save(); 

所以下一次,當程序出現時,你會檢查用戶設置中是否有值,如果是,請將其設置爲組合框。

但是,如果它不只是拯救一個特定的值,並且要 保存所有一滴一滴往下值,那麼我建議這些 值存儲在像DB一些持久性存儲,並結合您的數據來自 的組合框。並且,只要您爲其添加新值,請在DB 中添加相同的值,然後更新您的組合框數據源。

https://msdn.microsoft.com/en-us/library/x8160f6f%28v=vs.110%29.aspx

+0

這是我做的事情。 –