【发布时间】:2008-12-17 16:50:45
【问题描述】:
我有一个面板,其中包含一组控件。遍历它们时如何获取特定控件的索引?我正在使用 foreach 进行迭代,但没有 Index 属性。我应该使用for x = 0... 并在匹配完成时返回x,还是什么?
【问题讨论】:
-
出于好奇,为什么只需要Controls集合中的索引?可能有更好的方法来解决您的问题。
我有一个面板,其中包含一组控件。遍历它们时如何获取特定控件的索引?我正在使用 foreach 进行迭代,但没有 Index 属性。我应该使用for x = 0... 并在匹配完成时返回x,还是什么?
【问题讨论】:
你可以使用:
panel.Controls.IndexOf(control);
或者您可以使用 for 循环而不是 foreach 循环来迭代它们。或者您可以创建一个在 foreach 循环内递增的索引。
【讨论】:
您可以只使用 IndexOf 方法。类似 panel1.Controls.IndexOf(textBox1);
【讨论】:
要回答您提出的具体问题,是的,我会使用
for(x = 0; x
但是,如果您正在向面板动态添加控件,则可以考虑通过 .Name 或 .Tag 属性为它们提供唯一名称或其他标识属性。
然后您可以更精确地区分您的子控件。
希望这会有所帮助...
【讨论】: