我所做的是rightclicks
上的用户row
。出现一个菜单,他们选择delete
选项。但是没有确认对话框。如何使用我创建的自定义表单。那个delete,cancel buttons
。
我的代码有效;
private void Delete_Click(object sender, EventArgs e)
{
if (this.dgvTable.SelectedRows.Count > 0)
{
dgvTable.Rows.RemoveAt(this.dgvTable.SelectedRows[0].Index);
}
//Call FrmDelete??
}
如何使用新表单确认删除。我尝试过使用MessageBox
DialogResult dialogResult = MessageBox.Show("ARE YOU SURE?", "DELETE Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
if (this.dgvTable.SelectedRows.Count > 0)
{
dgvTable.Rows.RemoveAt(this.dgvTable.SelectedRows[0].Index);
}
}
else if (dialogResult == DialogResult.No)
{
//do something else
}
我知道这可能是最简单的选择。但我想使用新的Delete Form
。
由于
答案 0 :(得分:0)
你只需改变几行。
第一个显示表格:
DialogResult dialogResult = new DeleteForm().ShowDialog();
然后检查结果是“OK”而不是“是”:
if(dialogResult == DialogResult.OK)
最后,永远不会返回DialogResult.No
,因此您的else if
应该只是else
。
答案 1 :(得分:0)
您必须使用新表单的DialogResult
属性。
以新的形式:
void ButtonDelete_Click(object sender, EventArgs e)
{
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
void ButtonCancel_Click(object sender, EventArgs e)
{
this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.Close();
}
然后以主要形式:
private void Delete_Click(object sender, EventArgs e)
{
YourDialog dlg = new YourDialog();
DialogResult dialogResult = dlg.ShowDialog();
if(dialogResult == DialogResult.OK)
{
if (this.dgvTable.SelectedRows.Count > 0)
{
dgvTable.Rows.RemoveAt(this.dgvTable.SelectedRows[0].Index);
}
}
else if (dialogResult == DialogResult.Cancel)
{
return;
}
}