簡體   English   中英

C#-comboBox選定的IndexChange

[英]C# -comboBox Selected IndexChange

我有一個具有EmpolyeeNames列表的ComboBox。 當用戶選擇EmpolyeeName“ e1”時,下面的列表框將填充所選雇員的數據。 該數據可以修改。 完成所有更改后,用戶必須按下“保存”按鈕。

但是,如果用戶忘記按“保存”並從組合框中選擇另一個雇員說“ e2”,在這里我問用戶mEssagebox“是否要為雇員“ e1”保存數據,然后我保存特定雇員“ e1”的數據,

但是,在保存數據的同時,組合框索引已更改,其文本顯示最近選擇的員工“ e2”,但數據來自員工“ e1”。

在保存完成之前,我如何才能在comboBox中保留employeeye“ e1”的舊文本。

很簡單,當選擇組合框項目時,將員工放入類變量中。 使用此類變量而不是組合框中的項目。

保存(或提示)用戶后,可以將變量設置為新選擇的項目。

實際上,這里的重點應該是如何檢測用戶何時更改了列表框中的數據。 您可以在某處放置一個標志,以指示該特定用戶是否已更改某些數據。 例如,如果是列表框項目中將要更改的文本,則可以使用TextChanged事件來設置標志。

例:

bool employeeEdited = false;

private ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (employeeEdited)
     {
         // prompt user to save
     }
     // reset flag
     employeeEdited = false;
}

private void ListBox1_TextChanged(object sender, EventArgs e)
{
     employeeEdited = true;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM