2011-09-26 31 views

回答

0

在父级用户控件中,公开对子控件的引用,或者通过属性公开属性。例如

public partial class ParentControl : UserControl 
{ 
    ... 
    // Expose the whole child control 
    public ChildControl MyChild 
    { 
     get { return this.theIdOfTheChildControl; } 
    } 

    ... 

    // or expose specific properties 
    public string MyChildText 
    { 
     get { return this.theIdOfTheChildControl.Text; } 
     set { this.theIdOfTheChildControl.Text = value; } 
    } 
} 
0

试试这个方法

 private List<Control> GetAllNestedUserControl(Control ph) 
    { 
     List<Control> Get = new List<Control>(); 
     foreach (var control in ph.Controls) 
     { 
      if (control is UserControl) 
      { 
       UserControl uc = control as UserControl; 
       if (uc.HasControls()) 
       { 
        Get = GetAllNestedUserControl(uc); 

       } 
      } 
      else 
      { 
       Control c = (Control)control; 
       if (!(control is LiteralControl)) 
       { 
        Get.Add(c); 
       } 
      } 
     } 
     return Get; 
    } 

此方法将返回所有控件的列表,然后执行以下操作来获得控制ü要

 List<Control> Get = GetAllNestedUserControl(ph); 
     Label l = (Label)Get.Find(o => o.ID == "lblusername"); 
     l.Text = "changed from master";