delphi – 在代码中更改ItemIndex属性时发生ComboBox OnChange事
我在Delphi 10.1 Berlin上使用FMX.
我读了这个(这是我想要的行为): https://stackoverflow.com/a/42933567/1343976
这只适用于VCL吗? 我要求这个是因为,不幸的是,对于我来说,根据我可以测试的内容,修改代码中的ItemIndex属性会触发OnChange事件. 如果是这样,我怎样才能在FireMonkey中实现与VCL相同的行为? 解决方法
在FMX中,许多事情都以不同的方式处理.
一个简单的解决方法是在更改ItemIndex之前以及之后恢复事件之前取消OnChange事件属性. 执行此操作的简单例程就像这样(如@Remy所述): procedure SetItemIndex(ix : Integer; cb: TComboBox); var original : TNotifyEvent; begin original := cb.OnChange; cb.OnChange := nil; try cb.ItemIndex := ix; finally cb.OnChange := original; end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |