saa*_*aaZ 6 c# visual-studio winforms
我在运行时创建了多达20个按钮.
现在,一个事件,我想删除15个按钮,保留前5个按原样.我怎么能这样做?
然后,每当调用另一个事件时,将像以前一样添加相同的按钮.
您应该使用列表而不是数组.我想在创建时你会做这样的事情:
List<button> buttons = new List<button>();
for( int i = 0; i < 20; i++ ){
Button b = new Button();
...
this.Controls.Add(button);
buttons.Add(button);
}
Run Code Online (Sandbox Code Playgroud)
然后再次从应用程序中删除任何按钮,只需执行以下操作:
this.Controls.Remove( buttons[i] );
buttons.RemoveAt(i);
Run Code Online (Sandbox Code Playgroud)
完成此设置后,要删除最后15个按钮,请尝试以下操作:
for( int i = 19; i > 4; i-- ){
this.Controls.Remove(buttons[i]);
buttons.RemoveAt(i);
Run Code Online (Sandbox Code Playgroud)
请记住让循环从第20项开始,然后向下工作,因为如果删除列表中的元素,这意味着所有索引较高的元素将使其索引移动 1.