我正在寻找一个事件,我可以防止组合框的SelecteIndex属性被设置。也可能是一个名为“SelectedIndexChanging”的自创建事件。我需要它来阻止SelectedIndex改变,直到特定条件为真。
我试图寻找一个事件,我可以防止SelectedIndex的变化。我还尝试在我的CustomComboBox中实现一个事件来阻止这一点。这里没有成功。
先谢谢你了。
编辑当用户更改组合框时,我会查看该对象是否保存在数据库中,当没有,如果他想保存,如果他会屏蔽他(用MessageBox)。使用DialogResult,我想中断SelectedIndex的更改。
2条答案
按热度按时间huwehgph1#
这是一个小技巧,因为
SelectedIndex
属性值实际上会改变,但如果SelectedIndexChanging
事件被取消,它会再次改变,但从用户的Angular 来看,它肯定会工作。如果您正在使用SelectedValue
,则可能需要检查它们的行为。您只需处理
SelectedIndexChanging
事件,并将e.Cancel
设置为true
(如果SelectedIndex
不应更改)。pbwdgjma2#
另一个小黑客...创建一个字段(元组),您可以在其中跟踪最后选择的索引以及它是否可以更改...
在SelectionChanged方法中添加以下内容:
当你想“阻止”comboBox时,将其设置为“true”: