欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-21 14:02:28
本文所述为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#程序设计有所帮助。

上一篇:

下一篇: