ListBox.SelectedItem is null notification
我需要跟踪ListBox中的当前选定项,以在选定项变为null时关闭窗体上的其他控件。我尝试使用SelectedIndexChanged事件,但选择当项目为null,不会提高。
您能建议点什么吗?
更新:所选项目变为空,因为我使用空集合设置了新的DataSource值。可能是我遇到问题的原因吗?
我需要解释。 ListBox表示数据库中项目的集合。当用户添加/编辑/删除某些项目时,我通过调用以下方法刷新列表框:
1 2 3 4 | private void RefreshList() { lbParts.DataSource = this.database.Fetch<part>(string.Empty); } |
它从数据库中提取了所有项目,将其转换为
那是不正确的。当SelectedItem变为null时,将引发SelectedIndexChanged。在这种情况下,SelectedIndex将为-1。
编辑:您确实很正确,当您更改数据源时,不会得到SelectedIndexChanged。我建议您在更改DataSource
之前立即显式设置SelectedIndex = -1
也许还处理DataSourceChanged事件?如果列表框中可用的选项发生变化,那么我认为这是对表单可用控件进行刷新的原因吗?