我的 C# 应用程序有一个comboBox
with a SelectedIndexChanged
事件。通常,我希望该事件触发,但有时我需要该事件不触发。我的comboBox
是一个MRU文件列表。如果发现列表中的文件不存在,则将该项目从列表中删除comboBox
,以及comboBox
SelectedIndex
被设置为零。然而,设置comboBox
SelectedIndex
为零会导致SelectedIndexChanged
事件触发,在本例中这是有问题的,因为它会导致一些 UIF 代码在事件处理程序中运行。是否有一种优雅的方式来禁用/启用 C# 表单控件的事件?谢谢。
启动事件处理方法
ComboBox combo = sender as ComboBox;
if (combo.SelectedIndex == 0)
{
return;
}
如果问题出在不同的事件处理程序上,您可以先删除事件处理程序的事件注册。
combo.SelectedIndexChanged -= EventHandler<SelectedIndexChangedEventArgs> SomeEventHandler;
combo.SelectedIndex = 0;
combo.SelectedIndexChanged += EventHandler<SelectedIndexChangedEventArgs> SomeEventHandler;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)