WinForms:无法获取ValidateChildren来提升子控件的Validating事件

时间:2010-07-08 22:35:14

标签: c# .net vb.net winforms

在Windows窗体应用程序中,我有一个包含子控件的UserControl的窗体。我有一个子控件的Validating事件的事件处理程序。在父UserControl上,我调用ValidateChildren()方法。但是,子控件的Validating事件的事件处理程序不会运行。父UserControl和子控件上的CausesValidation属性设置为true。是否有任何理由不能运行Validating事件处理程序?

子控件是从Panel派生的自定义控件。它包含两个RadioButton控件,两个控件的CausesValidation属性都设置为true。

1 个答案:

答案 0 :(得分:2)

我想我明白了。控件未引发Validating事件,因为它无法选择。默认情况下,Panel控件不可选择,也不是从Panel派生的控件(参见link text)。所以在UserControl的构造函数中我调用了SetStyle(ControlStyles.Selectable, true);。现在它引发了Validating事件。