网路上找了不少,试用都不行,给出示例代码

解决方案 »

  1.   

    datagridview 鼠标拖拽 textbox 问题描述:我现在想拖动dataGridView里的数据到textBox里首先窗体名字为Form1拖个dataGridView和个textBox到窗体,她们分别叫dataGridView1和textBox1然后双击窗体,在加载窗体时显示dataGridView的数据C#代码 
    private void Form1_Load(object sender, EventArgs e)    
    {    
        // TODO: 这行代码将数据加载到表“dataSet1.Employees”中。您可以根据需要移动或移除它。    
        //this.employeesTableAdapter.Fill(this.dataSet1.Employees);    
        this.dataGridView1.Columns.Add("heisetoufa", "heisetoufa");    
        this.dataGridView1.Columns.Add("zisetoufa", "zisetoufa");    
        this.dataGridView1.Rows.Add("heise", "toufa");    
        this.dataGridView1.Rows.Add("zise", "toufa");    
    }   private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: 这行代码将数据加载到表“dataSet1.Employees”中。您可以根据需要移动或移除它。
        //this.employeesTableAdapter.Fill(this.dataSet1.Employees);
        this.dataGridView1.Columns.Add("heisetoufa", "heisetoufa");
        this.dataGridView1.Columns.Add("zisetoufa", "zisetoufa");
        this.dataGridView1.Rows.Add("heise", "toufa");
        this.dataGridView1.Rows.Add("zise", "toufa");
    }
    然后找到dataGridView1的事件中的CellMouseDown事件,在事件名里填上dataGridView1_CellMouseDown这个名称再在代码里写上C#代码 
    private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)    
    {    
         dataGridView1.DoDragDrop(e.ColumnIndex, DragDropEffects.Copy);    
    }   private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
    {
        dataGridView1.DoDragDrop(e.ColumnIndex, DragDropEffects.Copy);
    }
    然后找到textBox1的DragDrop事件写上相应的代码C#代码 
    private void textBox1_DragDrop(object sender, DragEventArgs e)    
    {    
        int index = -1;    
        if (e.Data.GetDataPresent(typeof(int)))    
         {    
             index = (int)e.Data.GetData(typeof(int));    
         }    
        if (index > -1)    
         textBox1.Text = dataGridView1.Columns[index].Name;    
    }   private void textBox1_DragDrop(object sender, DragEventArgs e)
    {
        int index = -1;
        if (e.Data.GetDataPresent(typeof(int)))
        {
            index = (int)e.Data.GetData(typeof(int));
        }
        if (index > -1) 
        textBox1.Text = dataGridView1.Columns[index].Name;
    }最后再找到textBox的DragEnter事件写上代 C#代码 
    private void textBox1_DragEnter(object sender, DragEventArgs e)    
    {    
        if (e.Data.GetDataPresent(typeof(int)))    
         {    
             e.Effect = DragDropEffects.Copy;    
         }    
        else   
             e.Effect = DragDropEffects.None;    
    }   private void textBox1_DragEnter(object sender, DragEventArgs e)
    {
        if (e.Data.GetDataPresent(typeof(int)))
        {
            e.Effect = DragDropEffects.Copy;
        }
        else
            e.Effect = DragDropEffects.None;
    }
    到此可以实现鼠标从dataGridView1拖拽数据到textBox里把dataGridView1的列表头显示在textBox里