[英]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.