事件不触发?

正如前面提到的,如果某个组件不触发事件,可检查其HitTestable属性是否被误设置为False了,一定要设置为True才会触发事件。

但有的时候,HitTestable明明已经设置为True了,也不会触发事件。

例如我在一个仪表控件中顺序增加了三个组件,分别是:Caption,Ellipse和Rectangle:


结果时钟只会针对Rectangle触发事件,Caption和Ellipse不会触发任何事件。

这是因为Rectangle是最后添加的,位于最顶层,而且尺寸最大,完全"遮住"了Caption和Ellipse, 所以后两者不会触发事件。

要使得Caption和Ellipse正常触发事件, 需要调整三个组件的顺序,使得Caption位于最顶层,Ellipse次之,Rectangle位于最底层:


本页地址:http://www.foxtable.com/webhelp/topics/6033.htm