方法如下:
private Control FindChildControl(Control pctr) 
        {
        foreach(Control ctr in pctr.Controls)
        
            if (ctr is TreeView)
           
                return ctr;
            
            return null; 
           }
想将TreeView类型做为输入参数,实现按指定的类型查找控件,应该怎么做?

解决方案 »

  1.   

    private Control FindChildControl(Control pctr) 
            {
            foreach(Control ctr in pctr.Controls)
            
                if (ctr is TreeView)
               
                    return ctr;
                
                          }
     return null; 
      

  2.   

    FindChildControl(你的TreeView的名字) 这样就可以吧
      

  3.   

    直接用TreeView不行吗?我也没试过..
      

  4.   

    没说明白
    想使用FindChildControl(Control pctr,para) 这种方式来查找pctr中类型为para的控件,即修改后的方法应该如下
    ///pctr  父控件
    ///para  欲查找的控件类型
       private Control FindChildControl(Control pctr,para) 
    {
            foreach(Control ctr in pctr.Controls)   
                if (ctr is para)
                    return ctr;
                    return null; 
    }
    使用时想得到如下效果
    FindChildControl(form1,TreeView)则自动返回form中的treeview,应该怎么修改FindChildControl方法呢?
      

  5.   

    用typeof来做:private Control FindChildControl(Control pctr, type ctrType)
    {
        foreach(Control ctr in pctr.Controls)   
            if (typeof(ctr) == ctrType)
                return ctr;
        return null; }FindChildControl(this, typeof(TreeView));
      

  6.   

    不好意思,上面有误,改正如下:
    private Control FindChildControl(Control pctr, Type ctrType)
    {
    foreach (Control ctr in pctr.Controls)
    if (ctr.GetType() == ctrType)
    return ctr;
    return null;
    }