【发布时间】:2015-04-26 14:38:02
【问题描述】:
我的 foreach 走错路了。它现在从下到上设置模板,但这需要以相反的顺序进行
我添加了一个打印屏幕以使其清晰:
我知道的唯一解决方案是按名称一一选择它们,然后设置正确的答案,但我将如何配合呢?还是有办法让foreach朝着正确的“方向”前进
这是我正在使用的 foreach:
var labels = this.Controls
.OfType<Label>()
.Where(l => l.Name.StartsWith("answer_"));
int x = 1;
foreach (Label l in labels)
{
int y = x * tafel;
l.Text = y.ToString();
x++;
}
【问题讨论】:
-
我从不假设任何带有 foreach 循环的顺序,您需要确定您在 foreach 中使用了正确的标签。在这种情况下,它们的顺序很大程度上取决于您如何制作表格。它们可能按照您在设计器中的顺序、Z 顺序或偶然发生的顺序排列,并且您不能假设它总是倒退。使用控件的 .Tag 属性或以其他方式验证您是否拥有正确的属性。
标签: c# winforms search controls