这是我第一次使用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);
}
}
}