繁体   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