我在Windows窗体中创建了一系列按钮。
Button[] buttons = {button1, button2, button3, button4, button5, button6, button7, button8, button9};
单击一个按钮后,我想将其从阵列中删除。我似乎无法在事件处理程序方法中执行此操作?
void Button1Click(object sender, System.EventArgs e){
buttonClicked(button1); //no effect on issue at hand
}
答案 0 :(得分:5)
从数组中删除比e更复杂。 G。来自清单。如果您将Button
存储在List<Button>
中,则可以执行以下操作:
void Button1Click(object sender, System.EventArgs e)
{
Button btn = sender as Button;
buttonList.Remove(btn);
}
答案 1 :(得分:4)
这样的事情可以起作用
void Button1Click(object sender, System.EventArgs e){
buttonClicked(button1); //no effect on issue at hand
buttons = buttons.Where(btn => btn != (Button)sender).ToArray();
}
答案 2 :(得分:1)
您可以使用IList而不是Buttons []并使用IList.Remove(itemForRemove)删除项目。