当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现根据指定容器和控件名字获得控件的方法

C#实现根据指定容器和控件名字获得控件的方法

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文所述为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#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网