DataGridView单元格内容拖放到文本框
时间:2011-12-18
来源:互联网
网路上找了不少,试用都不行,给出示例代码
作者: xianfajushi 发布时间: 2011-12-18
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里
首先窗体名字为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里
作者: hefeng_aspnet 发布时间: 2011-12-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28