六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 39|回复: 0

c# winform dataGridView鼠标拖拽到textBox里显示数据,鼠标拖动

[复制链接]

升级  61.3%

726

主题

726

主题

726

主题

探花

Rank: 6Rank: 6

积分
2226
 楼主| 发表于 2013-1-27 05:13:14 | 显示全部楼层 |阅读模式
问题描述:我现在想拖动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里
 
黑色头发  http://heisetoufa.iteye.com
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表