【发布时间】:2017-03-27 03:30:02
【问题描述】:
我有一个公共类拼图,它创建一个按钮拼图(按钮的二维数组)并将它们放在我的 Windows 窗体应用程序的 Form1 中(它将 Form1 设置为它们的父级)。当我调用一个函数来删除除 reset_button 之外的所有这些按钮时,它只会删除其中的一半。我必须调用此方法 n 次才能删除所有这些按钮,其中 n x n = 我的拼图所具有的按钮数。
public void Remove(Form g)
{
for (int i=0; i<n;i++)
foreach (Button b in g.Controls)
{
if (b.Name!="btn_reset") b.Dispose();
}
}
Form1 类中的拼图是 Puzzle 类的新实例,Remove 是 Puzzle 类中的公共方法
btn_reset.MouseClick += (ss, ee) =>
{
puzzle.Remove(this);
//puzzle=new Puzzle(n,this);
};
知道为什么会这样吗?
【问题讨论】:
-
为什么你的 Remove 函数中有一个双重嵌套的 for 循环?
-
@Nzall 因为我需要调用 foreach 循环 n 次才能处理所有按钮。否则每次只会处理其中的一半
标签: c#