欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
DateTimePicker 数据绑定遭遇 null 值的解决方法 Debug 和 Release 编译方式的本质区别
未知  从 DataGridView 控件 拖放数据 到 TreeView控件
[ 发布日期:19年前 (2006-07-13) ]   [ 来自:rick@博客园 ] [分类:C# .Net编程]
实现方法,在datagridview 的 MouseDown事件中开始 拖放处理。
然后在treeview 的 DragEnter 中接收拖放。
最后在treeview的 DragDrop 中处理拖放结果。
注:treeview的 AllowDrop 属性要设置为 true。



[复制到剪贴板]


private void dataGridView1_MouseDown
(object sender, MouseEventArgs e)
{
     if (e.Button == MouseButtons.Right)
     {
        DataGridView.HitTestInfo info = dataGridView1.HitTest(e.X, e.Y);
            
       if 
(info.RowIndex >= 0)
       {
           DataGridViewRow dr = (DataGridViewRow)
           dataGridView1.Rows[info.RowIndex];
           if (dr != null)
              dataGridView1.DoDragDrop(dr, DragDropEffects.Copy);
        }
     }
}

private void treeView1_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Copy;
}

private void treeView1_DragDrop(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(typeof(DataGridViewRow)))
    {                
        Point p 
= treeView1.PointToClient(new Point(e.X, e.Y));
        TreeViewHitTestInfo index = treeView1.HitTest(p);

        if (index.Node != null)
        {
            DataGridViewRow drv = (DataGridViewRow)e.Data.GetData(typeof(DataGridViewRow));
            index.Node.Text = "Drop: " + drv.Cells[0].ToString();
            
        
}
     }
}
 


引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/121
复制引用地址https://www.rickw.cn/trackback/121/GBK
[ 分类:C# .Net编程  | 查看:9433 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5