在我的主窗体中,我给了5个不同的窗体,通过单击它们的不同按钮进行链接,在MainForm中,我有一个由SQL Server填充的DataGridView,在其中为每行添加了一个用于编辑按钮的新列。
edit
按钮将通过CellContentClick
事件打开数据库中已经存在的数据的新表单,但是第一次单击该表单中的cancel
按钮它会在1次内关闭表单。如果我单击另一个表单的按钮,然后再次单击该DataGridView上的edit
按钮,之后如果我尝试取消打开的新表单,它将重新打开该表单2次。
重复相同的过程将每次以1为增量重新打开表格。
CellContentClick
事件的代码:
private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
var senderGrid = (DataGridView)sender;
if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0)
{
if (lblHeader.Text == "MailBox Configuration")
{
GlobalName.Name = dgv.Rows[e.RowIndex].Cells["Name"].Value.ToString();
AddConfigForm.DisplayData(conStr);
if (GlobalRefresh.Refresh == true)
{
GlobalRefresh.Refresh = false;
btnMailboxConfigPage_Click(sender, e);
}
}
if (lblHeader.Text == "Client Master")
{
GlobalId.Id = int.Parse(dgv.Rows[e.RowIndex].Cells["Id"].Value.ToString());
ClientForm.DisplayData(conStr);
if (GlobalRefresh.Refresh == true)
{
GlobalRefresh.Refresh = false;
btnClientPage_Click(sender, e);
}
}
}
return;
}