2017-06-20 58 views
0

所以我有幾個組合框添加到列表,我一直試圖存儲上一個選定的項目,但它似乎只返回null。 這是我的代碼從列表中刪除以前選擇的項目

List<string> CE = new List<string>(); 
public string Prev1; 
private void comboBox1_SelectedIndexChanged(object sender, EventsArgs e) 
{ 
    if(Prev1 != null) 
    { 
     CE.Remove(Prev1); 
    } 
    CE.Add(comboBox1.Text); 
} 
private void comboBox1_Enter(object sender, EventsArgs e) 
{ 
    Prev1 = comboBox1.SelectedText; 
} 

任何想法爲什麼Prev1保持返回null?

+0

Prev1總是空,因爲你將它定義爲空對象。某處你應該增加一個值 –

+0

它應該從選定的組合框 – Slamerz

+0

獲得一個值,所以你進入組合框,獲取當前顯示的文本。那麼你改變當前的項目並將之前的文本添加到你的列表中。我的問題是:在給焦點之前,你是否在組合框中設置了選定的項目?默認情況下,不應該選擇任何項目,所以你必須首先做到這一點,以防止「SelectedText」不返回任何內容,我錯了嗎? – Kartoffel

回答

0

這是怎麼了你的代碼看起來應該像存儲以前選擇的項目:

List<string> CE = new List<string>(); 
    public string Prev1; 
    private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (!string.IsNullOrEmpty(Prev1)) 
     { 
      CE.Remove(Prev1); 
     } 

     CE.Add(comboBox1.Text); 
     Prev1 = comboBox1.Text; 
    } 

在你的代碼中並沒有真正存儲除了輸入事件(這是怙前一個是不是有什麼你想要的)

0

使用Text屬性而不是SelectedTextcomboBox1_Enter