【问题标题】:How to get control index in WinForms?如何在 WinForms 中获取控制索引?
【发布时间】:2008-12-17 16:50:45
【问题描述】:

我有一个面板,其中包含一组控件。遍历它们时如何获取特定控件的索引?我正在使用 foreach 进行迭代,但没有 Index 属性。我应该使用for x = 0... 并在匹配完成时返回x,还是什么?

【问题讨论】:

  • 出于好奇,为什么只需要Controls集合中的索引?可能有更好的方法来解决您的问题。

标签: c# .net winforms


【解决方案1】:

你可以使用:

panel.Controls.IndexOf(control);

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

【讨论】:

    【解决方案2】:

    您可以只使用 IndexOf 方法。类似 panel1.Controls.IndexOf(textBox1);

    【讨论】:

      【解决方案3】:

      要回答您提出的具体问题,是的,我会使用

      for(x = 0; x

      但是,如果您正在向面板动态添加控件,则可以考虑通过 .Name 或 .Tag 属性为它们提供唯一名称或其他标识属性。

      然后您可以更精确地区分您的子控件。

      希望这会有所帮助...

      【讨论】:

        猜你喜欢
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-14
        • 1970-01-01
        相关资源
        最近更新 更多