Drag&Drop
От: Karp_P  
Дата: 07.06.08 07:18
Оценка:
Доброго дня!!!
Есть TextBox из которого я тащу его текстовое содержимое Drag&Drop'м в DataGridView в ячейку DataGridViewComboBoxCell. Все нормально вставляетя, но из TextBox строчка не удаляется ( флаг .All. Другие флаги тоже пробовал, но результат тот же ). Подскажите что я делаю не так? Код ниже.


        private void textBox1_MouseDown(object sender, MouseEventArgs e)
        {
            textBox1.DoDragDrop(textBox1.Text, DragDropEffects.All);
        }

        private void dataGridView1_DragEnter(object sender, DragEventArgs e)
        {
            string stPe = e.Data.GetData(DataFormats.Text).ToString();
            if (e.Data.GetDataPresent(DataFormats.StringFormat))
                e.Effect = DragDropEffects.All;
            else
                e.Effect = DragDropEffects.None;
        }

        private void dataGridView1_DragDrop(object sender, DragEventArgs e)
        {
            if (dataGridView1.RowCount > 0)
            {
                Point clientPoint = dataGridView1.PointToClient(new Point(e.X, e.Y));
                DataGridView.HitTestInfo hitTest = dataGridView1.HitTest(clientPoint.X, clientPoint.Y);
                if (hitTest.ColumnIndex == 4)
                {
                    ((DataGridViewComboBoxCell)dataGridView1.Rows[hitTest.RowIndex].Cells[hitTest.ColumnIndex]).Items.Add(e.Data.GetData    (DataFormats.Text).ToString());
                }
            }
        }


И еще вопрос: Нужно будет реализовать Drag&Drop из ячейки DataGridViewComboBoxCell в такую же ячейку DataGridViewComboBoxCell, но в методах этой ячейки DoDragDrop нет! Я понимаю конечно, что DataGridViewCell — это не наследник Control поддерживающий такую функцию. Как можно реализовать такой функционал? Представляю, что по всей видимости, нужно будет писать UserControl и вставлять его уже в ячейку DataGridView, но неужели нет другого пути?!! Уж очень не хочется морочиться с UserControl!!!
Заранее благодарен за ответ!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.