将datagridview中的值拖放到textbox控件中
View Code
1 private void Form1_Load(object sender, EventArgs e)
2 {
3 List<users> list = new List<users>();
4 for (int i = 0; i < 10; i++)
5 {
6 users u = new users() { uid = i, name = i.ToString() };
7 list.Add(u);
8 }
9 this.dataGridView1.DataSource = list;
10 this.textBox1.AllowDrop = true;//设置可接受拖放到上面数据
11 }
12
13 private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
14 {
15 if (e.Button == System.Windows.Forms.MouseButtons.Left)
16 {
17 DataGridView.HitTestInfo info = this.dataGridView1.HitTest(e.X, e.Y); //获取行、列信息
18 if (info.RowIndex > -1 && info.ColumnIndex > -1)
19 {
20 string text = this.dataGridView1.Rows[info.RowIndex].Cells[info.ColumnIndex].Value.ToString();///获取值
21 if (text != null)
22 {
23 this.dataGridView1.DoDragDrop(text, DragDropEffects.Copy);///开始拖放操作
24 }
25 }
26 }
27 }
28
29 private void textBox1_DragEnter(object sender, DragEventArgs e)
30 {
31 e.Effect = DragDropEffects.Copy;
32 }
33
34 private void textBox1_DragDrop(object sender, DragEventArgs e)
35 {
36 if (e.Data.GetDataPresent(typeof(String)))
37 {
38 this.textBox1.Text = e.Data.GetData(DataFormats.Text).ToString();
39 }
40 }