Winform高效获取控件(Control)方法 + 源码分析

背景:风好大,睡觉有点怕,起床敲代码了

之前学的都是都是通过遍历控件(Controls),判断控件名是否相等来获取Control

其实直接通过:Controls["控件名"],就可以获得需要的控件

为什么呢?

对Controls按下F12发现,Controls是个ControlCollection类型;再对ControlCollection按下F12可以看到它的方法。

Winform高效获取控件(Control)方法 + 源码分析_第1张图片

这里我们需要关注这两个方法,但是又无法查看内部是如何实现的(vs2022使用.net framework4.8和.net6都不行,可能是我不会操作),以此我们需要到https://github.com/dotnet/winforms

搜索我们需要的

Winform高效获取控件(Control)方法 + 源码分析_第2张图片

通过源码可以看到Add就是将控件往InnerList里面添加

索引器也是一样,通过查看文档可以发现它可以自己查找的,传入个名称就行

Winform高效获取控件(Control)方法 + 源码分析_第3张图片

刚把github仓库拉下来看,发现这个IndexOfKey还是忽略大小写的Winform高效获取控件(Control)方法 + 源码分析_第4张图片

你可能感兴趣的:(winform,C#,开发语言,c#,windows)