在默认状态下,用户于DataGridView控件中只要单击最左侧的数据行标题来选取数据行,然后单击Delete键即可将数据行删除。有许多人询问,如果希望能显示一个对话框让用户先行确认的话,该怎么做呢?
做法非常简单,当用户于DataGridView控件中选取一笔数据行并按下Delete键时,就会引发UserDeletingRow事件。因此您可以在UserDeletingRow事件处理函数中编写程序代码来显示一个确认对话框。如果用户表示不要删除,只需将DataGridViewRowCancelEventArgs类型的参数的Cancel属性设置成True即可。
所示是程序范例CH13_DemoForm008.cs的执行画面,它示范如何完成删除确认操作。这里将程序代码列示如下:
private void DataGridView1_UserDeletingRow(
object sender, DataGridViewRowCancelEventArgs e)
{
if (!(e.Row.IsNewRow))
{
DialogResult response =
MessageBox.Show("您确定要删除此笔数据行吗?", "请确认",
MessageBoxButtons.YesNo,
MessageBoxIcon.Question,
MessageBoxDefaultButton.Button2);
if (response == System.Windows.Forms.DialogResult.No)
{
e.Cancel = true;
}
}
}