我在運行時創建了多達20個按鈕。如何使用C#.net刪除數組中的按鈕?
現在,在一個事件中,我想刪除15個按鈕,保持原來的5個。我該怎麼做?
然後,每當調用另一個事件時,就會像以前一樣添加相同的按鈕。
我在運行時創建了多達20個按鈕。如何使用C#.net刪除數組中的按鈕?
現在,在一個事件中,我想刪除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);
}
然後從應用程序再次刪除任何按鈕,簡單地做:
this.Controls.Remove(buttons[i]);
buttons.RemoveAt(i);
有了這個設置,刪除最後15個按鈕,嘗試以下內容:
for(int i = 19; i > 4; i--){
this.Controls.Remove(buttons[i]);
buttons.RemoveAt(i);
記得讓在第20項循環開始,並向下工作,因爲如果你刪除列表中的元素,這意味着所有具有更高指數的元素會得到日eir index 將移位了1.
要移除按鈕,必須將其從控件集合中移除。
使用this.Contols.Remove(<buttonControl>);
這類似於你如何在運行時添加按鈕。而不是.add
,您使用.remove
。