1.首先,应该清楚的是,用户自定义组件的整体事件,之所以没有触发是因为没有选中整体组件对象本身。可以通过调整自定义组件上的子控件的位置,留出一部分空白区域用以选中整体组件对象,可以测试用户自定义控件事件是否能正常触发。
2.其次,多数情况下,用户自定义控件,多是由已有的原生控件组合而成,并且多数情况下,子控件会占满自定义控件,这就导致无法直接选中自定义控件自身。因此,必须另辟蹊径,通过借助子控件的事件来达到目的。
3.在用户自定义控件的designer.cs设计文件中,会发现子控件的默认权限是private 。需要修改为public的,以便于通过随时访问子控件。
4.然后,可以通过在子控件的事件中,借助control.parent属性来获取用户自定义控件本身,进行自己想要的操作。