简体   繁体   English

用两个datagridviews在两个窗体之间拖放C#

[英]Drag drop between two forms with two datagridviews c#

I have recently finished my drag drop event between two datagridviews on my main form , and it works well. 我最近在main form上的两个datagridviews之间完成了拖放事件,并且运行良好。 Now, however, I have decided to make a change that requires datagridview2 to be on another form ( form2 ). 但是,现在,我决定进行更改,要求datagridview2使用另一种形式( form2 )。 Can anyone tell me how to drag drop between two datagridviews , while on separate forms ? 谁能告诉我在单独的forms上如何在两个datagridviews之间拖放?

Below is my existing code: 下面是我现有的代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void dataGridView1_DragDrop(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(typeof(System.String)))
        {
            Point clientPoint = dataGridView1.PointToClient(new Point(e.X, e.Y));
            dataGridView1.Rows[dataGridView1.HitTest(clientPoint.X, clientPoint.Y).RowIndex].Cells[dataGridView1.HitTest(clientPoint.X, clientPoint.Y).ColumnIndex].Value = (System.String)e.Data.GetData(typeof(System.String));
        }
    }

    private void dataGridView1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(typeof(System.String)))
            e.Effect = DragDropEffects.Copy;
        else
            e.Effect = DragDropEffects.None;
    }

    private void dataGridView2_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
    {
        if (e.RowIndex > -1 && e.ColumnIndex > -1)
            dataGridView2.DoDragDrop(
               dataGridView2.Rows[e.RowIndex]
                            .Cells[e.ColumnIndex]
                            .Value.ToString(),
               DragDropEffects.Copy);
    }

I my opinion drag and drop between two different forms work same like on one form. 我认为两种不同形式之间的拖放工作就像在一种形式上一样。 Are you sure that dataGridView1 property AllowDrop is set to True? 您确定dataGridView1属性AllowDrop设置为True吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM