• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > WinForm实现按名称递归查找控件的方法

WinForm实现按名称递归查找控件的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了winform控件,winform皮肤控件,winform控件库,winform分页控件,winform chart控件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文所述实例主要实现了WinForm实现按名称递归查找控件的功能,在C#项目开发中有一定的应用价值,分享给大家供大家参考借鉴。

关键代码如下:

/// <summary>
/// 向下递归查找控件
/// </summary>
/// <param name="parentControl">查找控件的父容器控件</param>
/// <param name="findCtrlName">查找控件名称</param>
/// <returns>若没有查找到返回NULL</returns>
public static Control DownRecursiveFindControl(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;
   }
   else
   {
 if (ctrl.Controls.Count > 0)
   _findedControl = DownRecursiveFindControl(ctrl, findCtrlName);
   }
 }
  }
  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;
}

</div>

测试代码如下:

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

</div>

希望本文所述实例能够对大家的C#程序设计有所帮助!

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • WPF调用Matlab函数的方法
  • C# WinForm控件对透明图片重叠时出现图片不透明的简单解决方法
  • WinForm实现自定义右下角提示效果的方法
  • C#的winform控件命名规范
  • C#之WinForm跨线程访问控件实例
  • WinForm的延时加载控件概述
  • WinForm实现按名称递归查找控件的方法
  • WinForm实现移除控件某个事件的方法
  • WinForm自定义控件应用实例
  • 详解Winform里面的缓存使用

相关文章

  • 2017-05-28C#实现协同过滤算法的实例代码
  • 2017-05-28C#实现实体类和XML相互转换
  • 2017-05-28C#实现获取IIS站点及虚拟目录信息的方法
  • 2017-05-28c# 所有类型都从Object类型派生
  • 2017-05-28在web.config和app.config文件中增加自定义配置节点的方法
  • 2017-05-28C#中的多线程多参数传递详解
  • 2017-05-28C#读写操作app.config中的数据应用介绍
  • 2017-05-28在C#中根据HardwareID获取驱动程序信息的实现代码
  • 2017-05-28C#函数式程序设计之用闭包封装数据的实现代码
  • 2017-05-28WinForm中DataGridView添加,删除,修改操作具体方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#中SqlTransaction——事务详解
    • C# Main方法的传入参数研究
    • C# 无边框窗体边框阴影效果的简单实现
    • 使用C#开发ActiveX控件
    • c#数组详解
    • C#难点逐个击破(1):ref参数传递
    • C#中DateTime日期类型格式化显示方法汇总
    • C#代码性能测试类(简单实用)
    • C#添加Windows服务 定时任务
    • C#通过XML节点属性/属性值读取写入XML操作代码实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有