我有一个datagridview,我需要能够将文件拖放到树视图中,以防他们想要将文件移动到其他位置,但也可以双击第一列和第三列仍然是能够修改该行的这些列中的文本。
目前,我将将datagridview中的信息拖放到我的treeview控件中的代码非常完美。但是,由于我使用的是MouseDown,因此无法在框中双击进行编辑,因为它被捕获了。
这是我在Datagridview MouseDown中的代码
Private Sub dataGridView1_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles DataGridView1.MouseDown
If DataGridView1.CurrentRow Is Nothing Then Exit Sub
If e.Button = MouseButtons.Left And DataGridView1.CurrentCell.ColumnIndex < DataGridView1.Columns.Count - 1 Then
dragedItemText = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(0).Value.ToString
dragedItemEXT = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(1).Value.ToString
dragedItemRowIndex = DataGridView1.CurrentCell.RowIndex
DataGridView1.DoDragDrop(dragedItemText, DragDropEffects.Copy)
End If
End Sub
编辑澄清 - 我希望他们能够编辑第1列和第3列,也可以从任何列中单击并拖动以在TreeView中移动它。这甚至可能吗? 我假设是否有可能我需要设置某种类型的标志,如果他们点击鼠标双键然后强制修改列的文本?如果发生这种情况,那么让它如此mousedown检查标志并确定鼠标按下的任何内容都不会触发? 最好的方法是什么?