首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#如何在Foreach循环中遍历表单控件

C#如何在Foreach循环中遍历表单控件
EN

Stack Overflow用户
提问于 2016-11-15 21:37:00
回答 2查看 1.3K关注 0票数 1

和标题一样,我的问题是C#如何在foreach循环中迭代表单控件?如果这有点模糊,我将添加一些更多的细节:

当我做foreach(Control c in MyForm)时,它如何索引(?)通过控制?是基于标签订单还是其他什么的?任何帮助都将不胜感激,因为我正在试图找出,我是否可以把一个数组的值以更整洁和更有组织的方式。

EN

回答 2

Stack Overflow用户

发布于 2016-11-15 21:41:26

foreach的工作方式总是一样的,所以在窗体的控件上执行它不会改变任何事情。

它也没有真正使用索引;foreach只适用于实现IEnumerable的类实例,这意味着它们有一个GetEnumerator方法。foreach使用返回的IEnumerator一次一个地遍历集合;order取决于实际的实现。

对于List (或任何数组),这是有序的(即索引0是第一,1秒,等等);对于IEnumerable的随机实现,您必须查看源代码。在您的特定示例中,查看Controls集合在Form上的类型。它是一个ControlCollection,所以您需要查看参考源来了解它是如何枚举的。

基于实现,它似乎是有序的,在枚举过程中消除了一些防止控件的安全措施。

票数 4
EN

Stack Overflow用户

发布于 2016-11-15 22:12:30

您是指控件被迭代的顺序吗?我想说的是,这些控件是按照将它们添加到窗体的控件集合的顺序进行迭代的。您可以在InitializeComponents designer方法中检查这一点,以查看控件在该方法中列出的顺序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40620107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档