Alt*_*ime 6 c# foreach controls enumeration winforms
我有以下循环来删除我的C#Windows窗体应用程序中的按钮.唯一的问题是它会跳过其他所有按钮.如何从表单中删除所有按钮控件?
foreach (Control cntrl in Controls)
{
if(cntrl.GetType() == typeof(Button))
{
Controls.Remove(cntrl);
cntrl.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
McG*_*gle 11
我认为这种方式更具可读性:
var controlsToRemove = Controls.OfType<Button>().ToArray();
foreach (var control in controlsToRemove)
{
Controls.Remove(control);
cntrl.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
调用ToArray()创建一个新的具体集合,以便您可以枚举一个并修改另一个.
| 归档时间: |
|
| 查看次数: |
1465 次 |
| 最近记录: |