c#winform dataGridViewマウスtextBoxにデータを表示し、マウスをドラッグ


質問説明:dataGridViewのデータをtextBoxにドラッグしたいのですが
まずフォーム名はForm 1
DataGridViewとtextBoxをフォームにドラッグします.それぞれdataGridView 1とtextBox 1と呼ばれています.
次にフォームをダブルクリックし、フォームのロード時に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");
}


そしてdataGridView 1のイベントのCellMouseDownイベントを見つけ、イベント名にdataGridView 1_を記入しますCellMouseDownという名前
コードに書いて
private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
    dataGridView1.DoDragDrop(e.ColumnIndex, DragDropEffects.Copy);
}


そしてtextBox 1の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;
}


 
 
これにより、dataGridView 1からtextBoxにデータをドラッグ&ドロップしてdataGridView 1のリストヘッダをtextBoxに表示することができます.
 
黒い髪http://heisetoufa.iteye.com