右键单击数据网格视图单元格中的对话框消失

时间:2014-12-21 14:58:17

标签: c# winforms contextmenu

我使用Windows窗体创建了一个网格视图。我还提供了一个上下文条带菜单,其中包含右键单击的复制选项。

但是,右键单击其中一个单元格后,对话框本身会消失,并在左键单击时再次返回。我错过了什么吗?但是,如果我将对话框的“最顶层属性”设置为true,则问题就解决了。但我不想让对话框始终位于顶部。

private void mnuCopy_Click(object sender, EventArgs e)
{
    if (row >= 0 && col >= 0)
    {
        Clipboard.SetData(DataFormats.Text, ErrorDetailsDataGridView.Rows[row].Cells[col].Value.ToString());
    }
}

private void ErrorDetailsDataGridView_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{            
    if (e.Button == MouseButtons.Right && e.ColumnIndex != -1 && e.RowIndex != -1)
    {
        row = e.RowIndex;
        col = e.ColumnIndex;
        ContextMenuStrip mnu = new ContextMenuStrip();
        ToolStripMenuItem mnuCopy = new ToolStripMenuItem("Copy");
        mnuCopy.Click += new EventHandler(this.mnuCopy_Click);
        mnu.Items.AddRange(new ToolStripItem[] { mnuCopy });
        if (ErrorDetailsDataGridView.CurrentCell != ErrorDetailsDataGridView.Rows[row].Cells[col])
        {
            ErrorDetailsDataGridView.CurrentCell = ErrorDetailsDataGridView.Rows[row].Cells[col];
        }
        ErrorDetailsDataGridView.Rows[row].Cells[col].ContextMenuStrip = mnu;
    }
} 

0 个答案:

没有答案