ors*_*aro 5 delphi events combobox firemonkey
我在Delphi 10.1 Berlin上使用FMX.
我读了这个(这是我想要的行为):
以
ItemIndex编程方式更改不会导致OnChange事件被触发.它仅在响应用户交互时触发.
这只适用于VCL吗?
我问这是因为,不幸的是我,从我可以测试,修改ItemIndex代码属性触发的OnChange事件.
如果是这样,我怎样才能在FireMonkey中实现与VCL相同的行为?
处理这个问题的正确方法是首先找出OnChange处理程序是从哪里调用的。这是在方法中完成的TCustomComboBox.DoChange()。
因此,您需要做的是:
覆盖默认DoChange()方法以不触发OnChange事件方法。
重写ItemIndex属性设置器以使用不会调用该DoChange()方法的不同逻辑。
这两种方法都要求您为修改后的ComboBox.