这是我第一次使用C# . 我正在尝试创建一个Datagridview,我可以从表中删除所有行,只需一个按钮点击,名为Terminate All,然后将其添加回默认设置,其中一个按钮名为Reset,但是当我单击重置时,它会添加一个重复的按钮行在我的数据网格中 . 私有void button2_Click(对象发送者,EventArgs e)包含Reset按钮的代码,if(dataGridView1.Columns [e.ColumnIndex] .Name ==“Terminate”)包含Terminate all的代码 . 谁能告诉我如何删除datagridview末尾的重复按钮?

namespace Dispatcher_2._0
{
    public partial class Form1 : Form
    {
        DataTable Table = new DataTable();


        public Form1()
        {

            InitializeComponent();
        }


        private void Form1_Load(object sender, EventArgs e)
        {

            Table.Columns.Add("PID", typeof(int));
            Table.Columns.Add("Status", typeof(string));
            Table.Columns.Add("Priority", typeof(int));
            Table.Rows.Add(91, "Current Process", 0);
            Table.Rows.Add(92, "Ready", 23);
            Table.Rows.Add(95, "Ready", 22);
            Table.Rows.Add(93, "Ready", 28);
            Table.Rows.Add(94, "Ready", 44);
            dataGridView1.DataSource = Table;
            DataGridViewButtonColumn Btn = new DataGridViewButtonColumn();
            DataGridViewButtonColumn Btn1 = new DataGridViewButtonColumn();
            DataGridViewButtonColumn Btn2 = new DataGridViewButtonColumn();

            Btn.Name = "Time Slice";
            Btn.Text = "Time Slice";

            Btn1.Name = "Block";
            Btn1.Text = "Block";

            Btn2.Name = "Terminate";
            Btn2.Text = "Terminate";
            Btn.UseColumnTextForButtonValue = true;
            Btn1.UseColumnTextForButtonValue = true;
            Btn2.UseColumnTextForButtonValue = true;
            dataGridView1.Columns.Add(Btn);
            dataGridView1.Columns.Add(Btn1);  
            dataGridView1.Columns.Add(Btn2);

        }

        private void button3_Click(object sender, EventArgs e)
        {
            Table.Clear();

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Table.Rows.Add(91, "Current Process", 0);
            Table.Rows.Add(92, "Ready", 23);
            Table.Rows.Add(95, "Ready", 22);
            Table.Rows.Add(93, "Ready", 28);
            Table.Rows.Add(94, "Ready", 44);
            dataGridView1.DataSource = Table;
            DataGridViewButtonColumn Btn = new DataGridViewButtonColumn();
            DataGridViewButtonColumn Btn1 = new DataGridViewButtonColumn();
            DataGridViewButtonColumn Btn2 = new DataGridViewButtonColumn();

            Btn.Text = "Time Slice";
            Btn1.Text = "Block";
            Btn2.Text = "Terminate";
            Btn.UseColumnTextForButtonValue = true;
            Btn1.UseColumnTextForButtonValue = true;
            Btn2.UseColumnTextForButtonValue = true;
            dataGridView1.Columns.Add(Btn);
            dataGridView1.Columns.Add(Btn1);
            dataGridView1.Columns.Add(Btn2);
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex].Name == "Time slice")
            {

            }
            if (dataGridView1.Columns[e.ColumnIndex].Name == "Block")
            {       
                int selectedRow = dataGridView1.CurrentCell.RowIndex;
                dataGridView1.Rows[selectedRow].SetValues(new Random().Next(50, 100), "Blocked", "-1");
            }
            if (dataGridView1.Columns[e.ColumnIndex].Name == "Terminate")
            {
                dataGridView1.Rows.RemoveAt(0);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Table.Rows.Add(new Random().Next(50, 100), "Ready", textBox1.Text);
        }

    }
}