一次又一次地自动调用DataGridView的CellContentClicked事件

时间:2019-05-27 06:09:50

标签: c# winforms datagridview

在我的主窗体中,我给了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;
}

0 个答案:

没有答案