缺省或取消按钮由容器控制。把 UserControl 的 DefaultCancel 属性置为 True 即可通知容器:该控件可以作为缺省或取消按钮。
如果将 UserControl 上的某个子控件的 Default 或 Cancel 属性置为 True,那么 UserControl 的 DefaultCancel 属性必须置为 True,否则子控件的属性将被忽略。
根据 AmbientProperties 对象的 DisplayAsDefault 属性,用户绘制控件能够确定是否要添加额外的黑色边框,使它看上去象是缺省按钮。
如果 DefaultCancel 为 True,并且用户将控件实例用作缺省按钮,那么,当回车键被按下时,会产生 UserControl 的 AccessKeyPressed 事件。事件的参数为 ASCII 码值 13。
如果控件实例是取消按钮,AccessKeyPress 事件的参数为 ASCII 码值 27。
重点 缺省或取消按钮的状态可以随时改变。必须在 UserControl 的 AmbientChanged 事件中放置代码来检测 DisplayAsDefault 属性的变化,并以此来调整控件的外观。