问题描述:我现在想拖动dataGridView里的数据到textBox里
首先窗体名字为Form1
拖个dataGridView和个textBox到窗体,她们分别叫dataGridView1和textBox1
然后双击窗体,在加载窗体时显示dataGridView的数据
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这个名称
再在代码里写上
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { dataGridView1.DoDragDrop(e.ColumnIndex, DragDropEffects.Copy); }
然后找到textBox1的DragDrop事件
写上相应的代码
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事件
写上代
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里