在c#中将现有的按钮存储在数组中
本文关键字:按钮 数组 存储 | 更新日期: 2023-09-27 18:12:18
到目前为止我有这个代码。
Button[] buttons = this.Controls
.OfType<Button>()
.ToArray();
for (int i = 0; i < 25; i++) {
buttons[i].FlatStyle = FlatStyle.Flat;
buttons[i].ForeColor = Color.Red;
}
得到IndexOutOfRangeException
。我有25个按钮
不要使用幻数 (25
):
Button[] buttons = this.Controls
.OfType<Button>()
.ToArray();
foreach (var button in buttons) {
button.FlatStyle = FlatStyle.Flat;
button.ForeColor = Color.Red;
}
如果您坚持使用for
循环(请注意buttons.Length
- 实际数组的长度):
for (int i = 0; i < buttons.Length; i++) {
buttons[i].FlatStyle = FlatStyle.Flat;
buttons[i].ForeColor = Color.Red;
}
在for循环语句中使用数组的Length可以防止超出范围的异常。
Button[] buttons = this.Controls.OfType<Button>().ToArray();
for (int i = 0; i < buttons.Length; i++)
{
buttons[i].FlatStyle = FlatStyle.Flat;
buttons[i].ForeColor = Color.Red;
}