前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[C#]获得WindowsForm上所有特定类型的控件

[C#]获得WindowsForm上所有特定类型的控件

作者头像
CNXY
发布2017-12-25 11:37:41
1.4K0
发布2017-12-25 11:37:41
举报
文章被收录于专栏:C# 编程C# 编程

本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!

开发工具:VS2017

语言:C#

DotNet版本:.Net FrameWork 4.0及以上

一、本文使用的C#语言要点有以下几个:

拓展方法、泛型方法、泛型约束、递归,不懂的可以自行百度

二、具体代码如下:

代码语言:javascript
复制
public static class Utils
{
    public static IEnumerable<TControl> GetChildControls<TControl>(this Control control) where TControl : Control
    {
        if (control.Controls.Count == 0)
        {
            return Enumerable.Empty<TControl>();
        }
        var children = control.Controls.OfType<Control>().ToList();
        return children.OfType<TControl>().Concat(children.SelectMany(n => n.GetChildControls<TControl>()));
    }
}

三、设计界面如下:

四、运行效果如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档