在C#中按名称获取usercontrol的子控件

时间:2014-12-03 10:16:27

标签: c# user-controls

我有一个包含一些ComboBoxes的usercontrol。我已将Modifiers属性设置为Protected Internal,以便我可以使用我的主要代码访问它们。

我试图通过字符串获取他们的名字。我试过这个

ComboBox cmb = (ComboBox )ucMyUserControl.Controls.Find("cmb" + restOfTheName, false).FirstOrDefault();

正如answer所述。但它返回null

我怎样才能使它有效?

1 个答案:

答案 0 :(得分:0)

ComboBox cmb = (ComboBox)ucMyUserControl.Controls.Find("cmb" + restOfTheName, 
                                                   true).FirstOrDefault();

如果您的ID正确,则会返回您的控件。可以将ComboBox嵌套在用户控件的其他控件中。第二个参数是searchAllChilds标志,因为在UserControl的所有控件中,param应该为true。