如何在WinForms中获取控件索引?

3

我有一个面板,里面有一些控件。当我遍历这些控件时,如何获取特定控件的索引?我使用 foreach 进行迭代,但没有 Index 属性。我应该使用 for x = 0... 并在找到匹配项时返回 x 吗?


1
出于好奇,为什么您只需要 Controls 集合中的索引?也许有更好的方法来解决您的问题。 - Austin Salonen
3个回答

7

您可以使用以下方法:

panel.Controls.IndexOf(control);

你也可以使用for循环而不是foreach循环来迭代它们。或者你可以在foreach循环内部创建一个递增的索引。


1
你可以使用IndexOf方法。像panel1.Controls.IndexOf(textBox1);这样的东西。

1

针对你提出的具体问题,是的,我会使用

for(x = 0; x < panel.Controls.Count; i++)

然而,如果你正在动态添加控件到面板上,你可能需要通过.Name或.Tag属性为它们赋予唯一的名称或其他标识属性。

这样,你就可以更精确地区分你的子控件了。

希望这能帮到你...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接