改变TComboBox的ITEMINDEX不会触发它的OnChange事件

Joh*_*hny 2 delphi delphi-2010 delphi-xe7

当以编程方式更改的值ItemIndex一的TComboBox德尔福组件,可以预期的对应OnChange于被触发事件.

毕竟,ComboBox的可见值得到了改变.奇怪的是它没有.Delphi6,Delphi 2010和Delphi XE7中的行为相同.

这种行为背后有什么原因,或者只是一个悬而未决的错误?

LU *_* RD 6

来自文档:

用户更改编辑区域中显示的文本时发生.

编写OnChange事件处理程序,以便在用户编辑编辑区域中的文本或从列表中选择项目后立即执行特定操作.Text属性在编辑区域中提供新值.

注意:OnChange仅在响应用户操作时发生.以编程方式更改Text属性不会触发OnChange事件.

由于没有完成编辑,这意味着以编程方式更改ItemIndex不会触发OnChange事件.