C#实现根据指定容器和控件名字获得控件的方法
程序员文章站
2023-12-17 12:01:10
本文所述为c#实现根据指定容器和控件名字获得控件的方法,在进行c#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下:
功能代码如下:...
本文所述为c#实现根据指定容器和控件名字获得控件的方法,在进行c#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下:
功能代码如下:
/// <summary> /// 根据指定容器和控件名字,获得控件 /// </summary> /// <param name="obj">容器</param> /// <param name="strcontrolname">控件名字</param> /// <returns>控件</returns> private object getcontrolinstance(object obj,string strcontrolname) { ienumerator controls = null;//所有控件 control c = null;//当前控件 object cresult=null;//查找结果 if(obj.gettype() == this.gettype())//窗体 { controls = this.controls.getenumerator(); } else//控件 { controls = ((control)obj).controls.getenumerator(); } while(controls.movenext())//遍历操作 { c = (control)controls.current;//当前控件 if(c.haschildren)//当前控件是个容器 { cresult = getcontrolinstance(c,strcontrolname);//递归查找 if(cresult==null)//当前容器中没有,跳出,继续查找 continue; else//找到控件,返回 return cresult; } else if(c.name == strcontrolname)//不是容器,同时找到控件,返回 { return c; } } return null;//控件不存在 }
示例如下:
((button) getcontrolinstance(this,"button7")).backcolor = color.red; ((button) getcontrolinstance(this.groupbox4,"button7")).performclick();
希望本文所述实例对大家c#程序设计有所帮助。