在Windows窗体应用程序中,我有一个包含子控件的UserControl的窗体。我有一个子控件的Validating事件的事件处理程序。在父UserControl上,我调用ValidateChildren()
方法。但是,子控件的Validating事件的事件处理程序不会运行。父UserControl和子控件上的CausesValidation属性设置为true。是否有任何理由不能运行Validating事件处理程序?
子控件是从Panel
派生的自定义控件。它包含两个RadioButton控件,两个控件的CausesValidation属性都设置为true。
答案 0 :(得分:2)
我想我明白了。控件未引发Validating事件,因为它无法选择。默认情况下,Panel控件不可选择,也不是从Panel派生的控件(参见link text)。所以在UserControl的构造函数中我调用了SetStyle(ControlStyles.Selectable, true);
。现在它引发了Validating事件。