是刷新组合框的项目,并仍然保持选定的项目,以便SelectedIndexChanged
事件不会被触发的方式吗?即使所选项目不在新项目列表中?从DataSource刷新组合框,并保持选定的项目,但不触发SelectedIndexChanged
以下代码似乎会重置所选项目并触发SelectedIndexChanged
事件。
void RefreshComboboxItems()
{
var ds = GetRefreshedItems();
cb.DataSource = ds;
cb.DisplayMember = "Name";
cb.ValueMember = "Value";
}
// cb is already initialized and an item is selected
RefreshComboboxItems(); // Want to keep the selected item unchanged and don't trigger the event
@JohnOdom它在问题代码中提供。 – user2864740 2014-09-24 21:54:15
我会试图在操作过程中仅仅抑制SelectedIndexChanged事件 - 通过使用布尔防护变量(例如“refreshingData”)和try/catch。 (这个事件保证与上面的代码执行内联一致) – user2864740 2014-09-24 21:55:00
我想不出任何。只有当我执行脏兮兮的工作时,临时取消分配处理程序,然后弹回 – ne1410s 2014-09-24 21:55:55