即使旧索引和新索引相同,是否可以触发ComboBox SelectedIndex Changed Event?
我有一个场景是我需要触发winform的combox的SelectedIndexChanged
事件,即使旧的和新的索引是相同的..我不能使用SelectionChangeCommited
因为值是以编程方式设置的..它不会被解雇。 即使旧的和相同的索引相同,是否有机会强制’SelectedIndexChanged’开火?
没有什么可以阻止您直接调用事件处理程序:
comboBox1_SelectedIndexChanged(comboBox1, new EventArgs()); // or (null, null)
但是atomaras
解决方案是一种更好(更好)的方法。
我自己不喜欢在更严重的软件中使用标准组件。 相反,我从一开始就将所有标准组件子类化,并在需要时立即向它们添加function,而无需更改现有表单中的任何内容。
在这种情况下,我将添加一个公共事件riser OnSelectedIndexChanged
来执行事件(以编程方式在事件处理程序中运行代码)。
你希望事件重新获得相同的项目似乎很奇怪。 这可能是因为您只想重新执行事件处理程序逻辑。 为什么不将SelectionChanged逻辑提取到新方法中并以编程方式调用该方法?
combobox.selectedIndex = value; combobox.selectedevent(null,null);