1. 添加 DataGridViewButtonColumn
DataGridViewButtonColumn dgv_button_col = new DataGridViewButtonColumn();
// 设定列的名字
dgv_button_col.Name = "Detail";
// 在所有按钮上表示"查看详情"
dgv_button_col.UseColumnTextForButtonValue = true;
dgv_button_col.Text = "查看详情";
// 设置列标题
dgv_button_col.HeaderText = "详情";
// 向DataGridView追加
dgvMain.Columns.Insert(dgvMain.Columns.Count, dgv_button_col);
2. 获得按钮被点击
点击DataGridViewButtonColumn的按钮时,会触发DataGridView.CellContentClick事件。这个事件处理器可以检测被点击的按钮是否在列中,如果在就会被触发。
下面的例子就是当按钮被点击时,取得是第几行的按钮被点击了。
private void dgvMain_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (dgvMain.Columns[e.ColumnIndex].Name == "Detail")
{
MessageBox.Show("行: " + e.RowIndex.ToString() + ", 列: " + e.ColumnIndex.ToString() + "; 被点击了");
}
}
列的属性中 columntype 选成 DataGridViewImageColumn试一下