C# 拖拽后如何用鼠标选择单元格?

C# 拖拽后如何用鼠标选择单元格?,c#,.net,events,datagridview,C#,.net,Events,Datagridview,我的表单中有两个DataGridView。用户可以选择多个单元格并将其拖动到treeview节点 以下是鼠标按下事件的代码: private void datagridviews_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { Console.WriteLine("mouse down right");

我的表单中有两个DataGridView。用户可以选择多个单元格并将其拖动到treeview节点

以下是鼠标按下事件的代码:

    private void datagridviews_MouseDown(object sender, MouseEventArgs e)
    {

        if (e.Button == MouseButtons.Right)
        {     Console.WriteLine("mouse down right");
            statuslabel.Text = "";

            DataGridView.HitTestInfo hit = ((DataGridView)sender).HitTest(e.X, e.Y);
            if (hit.Type == DataGridViewHitTestType.Cell)
            {
                var clickedCell = ((DataGridView)sender).Rows[hit.RowIndex].Cells[hit.ColumnIndex];
                clickedCell.Selected = true;
            }

            List<string> cellcontents = new List<string>();
            foreach (DataGridViewCell c in ((DataGridView)sender).SelectedCells)
            {
                cellcontents.Add((string)c.Value);
            }

            if (cellcontents.Count>0)
                ((DataGridView)sender).DoDragDrop(cellcontents, DragDropEffects.Copy);
        }
        else
            Console.WriteLine("mouse down left");

    }
private void datagridviews\u MouseDown(对象发送方,MouseEventArgs e)
{
if(e.Button==MouseButtons.Right)
{Console.WriteLine(“鼠标右下”);
statuslabel.Text=“”;
DataGridView.HitTestInfo hit=((DataGridView)sender.HitTest(e.X,e.Y);
if(hit.Type==DataGridViewHitTestType.Cell)
{
var clickedCell=((DataGridView)sender.Rows[hit.RowIndex].Cells[hit.ColumnIndex];
clickedCell.Selected=true;
}
List cellcontents=新列表();
foreach(DataGridView中的单元格c((DataGridView)发件人)。SelectedCells)
{
cellcontents.Add((字符串)c.Value);
}
如果(cellcontents.Count>0)
((DataGridView)sender.DoDragDrop(cellcontents,DragDropEffects.Copy);
}
其他的
控制台。WriteLine(“鼠标左下”);
}
拖放可以工作,但当我在完成拖放后单击origin datagridview中的单元格时,我必须单击两次才能选择单元格

这是事件的控制台日志-右键单击是拖放操作,然后正常的鼠标左键单击会触发鼠标按下事件,但不会触发单元格单击事件,即使我正在单击单元格

鼠标右键按下
鼠标左下
鼠标左下
单击单元格

为什么鼠标左下时,单元格单击事件第一次未触发