WinForm自定义函数FindControl实现按名称查找控件

 更新时间:2014年08月19日 17:25:29   投稿:shichen2014  
这篇文章主要介绍了WinForm自定义函数FindControl实现按名称查找控件,需要的朋友可以参考下

本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值。分享给大家供大家参考。

关键代码如下:

/// <summary>
/// 按名称查找控件
/// </summary>
/// <param name="parentControl">查找控件的父容器控件</param>
/// <param name="findCtrlName">查找控件名称</param>
/// <returns>若没有查找到返回NULL</returns>
public static Control FindControl(this Control parentControl, string findCtrlName)
{
  Control _findedControl = null;
  if (!string.IsNullOrEmpty(findCtrlName) && parentControl != null)
  {
 foreach (Control ctrl in parentControl.Controls)
 {
   if (ctrl.Name.Equals(findCtrlName))
   {
 _findedControl = ctrl;
 break;
   }
 }
  }
  return _findedControl;
}
/// <summary>
/// 将Control转换某种控件类型
/// </summary>
/// <typeparam name="T">控件类型</typeparam>
/// <param name="control">Control</param>
/// <param name="result">转换结果</param>
/// <returns>若成功则返回控件;若失败则返回NULL</returns>
public static T Cast<T>(this Control control, out bool result) where T : Control
{
  result = false;
  T _castCtrl = null;
  if (control != null)
  {
 if (control is T)
 {
   try
   {
 _castCtrl = control as T;
 result = true;
   }
   catch (Exception ex)
   {
 Debug.WriteLine(string.Format("将Control转换某种控件类型异常,原因:{0}", ex.Message));
 result = false;
   }
 }
  }
  return _castCtrl;
}
}

测试代码如下:

bool _sucess = false;
CheckBox _finded = panel1.FindControl("checkBox1").Cast<CheckBox>(out _sucess);
if (_sucess)
{
 MessageBox.Show(_finded.Name);
}
else
{
 MessageBox.Show("Not Finded.");
}

希望本文实例对大家C#学习能有所帮助!

相关文章

  • c#数据绑定之linq使用示例

    c#数据绑定之linq使用示例

    本实例以MS AdventureWorks2008Entities数据库为基础,演示了LINQ TO ENTITY、LINQ TO ENTITYSQL和LINQ TO ENTITYCLIENT。
    2014-04-04
  • Unity3D UI Text得分数字增加的实例代码

    Unity3D UI Text得分数字增加的实例代码

    这篇文章主要介绍了Unity3D UI Text得分数字增加方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • C# CultureInfo之常用InvariantCulture案例详解

    C# CultureInfo之常用InvariantCulture案例详解

    这篇文章主要介绍了C# CultureInfo之常用InvariantCulture案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C#实现最简单的文本加密方法

    C#实现最简单的文本加密方法

    这篇文章主要介绍了C#实现最简单的文本加密方法,可实现简单的文本加密功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • c# 委托的常见用法

    c# 委托的常见用法

    这篇文章主要介绍了c# 委托的常见用法,帮助大家更好的理解和学习c#,感兴趣的朋友可以了解下
    2020-08-08
  • C#搜索文字在文件及文件夹中出现位置的方法

    C#搜索文字在文件及文件夹中出现位置的方法

    这篇文章主要介绍了C#搜索文字在文件及文件夹中出现位置的方法,涉及C#针对文件及文件夹遍历与查找的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 深入理解C#委托delegate的使用

    深入理解C#委托delegate的使用

    本文主要介绍了C#委托delegate的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • C#读取视频的宽度和高度等信息的方法

    C#读取视频的宽度和高度等信息的方法

    这篇文章主要介绍了C#读取视频的宽度和高度等信息的方法,通过执行一条CMD命令来实现读取视频宽度和高度的功能,具有不错的实用价值,需要的朋友可以参考下
    2014-11-11
  • asp.net core 使用 tensorflowjs实现 face recognition的源代码

    asp.net core 使用 tensorflowjs实现 face recognition的源代码

    tensorflowjs,在该项目中使用了ml5js这个封装过的机器学习JavaScript类库, 使用起来更简单,本文给大家分享asp.net core 使用 tensorflowjs实现 face recognition的源代码,需要的朋友参考下吧
    2021-06-06
  • C#实现验证字符串的长度的方法详解

    C#实现验证字符串的长度的方法详解

    这篇文章主要为大家详细介绍了C#如何使用正则表达或者计算字符数组长度或字符串的长度来验证验证字符串的长度,感兴趣的小伙伴可以学习一下
    2024-02-02

最新评论