datagridview数据拖到textbox中
View Code
private void Form1_Load(object sender, EventArgs e)
{
List<users> list = new List<users>();
for (int i = 0; i < 10; i++)
{
users u = new users() { uid = i, name = i.ToString() };
list.Add(u);
}
this.dataGridView1.DataSource = list;
this.textBox1.AllowDrop = true;//设置可接受拖放到上面数据
}
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
DataGridView.HitTestInfo info = this.dataGridView1.HitTest(e.X, e.Y); //获取行、列信息
if (info.RowIndex > -1 && info.ColumnIndex > -1)
{
string text = this.dataGridView1.Rows[info.RowIndex].Cells[info.ColumnIndex].Value.ToString();///获取值
if (text != null)
{
this.dataGridView1.DoDragDrop(text, DragDropEffects.Copy);///开始拖放操作
}
}
}
}
private void textBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
private void textBox1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(String)))
{
this.textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();
}
}