C# TreeView控件selectedNode属性的使用问题

.Net技术 码拜 9年前 (2016-02-22) 2879次浏览
本人见了一个WINFORM程序,首先是在左边添加了一个TreeView控件,右边添加了一个PictureBox控件,希望拖动左边TreeView中选中的节点,在右边显示相应的图片的操作。
本人首先实在FORM_LOAD中添加了如下代码:

TreeNode groupNode1 = treeView1.Nodes.Add("分组1");
            TreeNode TerminalNode1 = groupNode1.Nodes.Add("节点1");
            string filePath = @"F:\壁纸图标\theDanceNeverEnd.png";
            TerminalNode1.Tag = filePath;
            //TreeNode groupNode = treeView1.Nodes.Add("分组2");
            TreeNode TerminalNode2 = groupNode1.Nodes.Add("节点2");
            string filePath2 = @"F:\壁纸图标\cat.jpg";
            TerminalNode2.Tag = filePath2;
            treeView1.ExpandAll();

这样做的话遇到的问题是,在本人处理Item_Drag响应时,selectedNode不论本人怎么选择,始终是第一个节点,
Item_Drag部分的代码如下:

private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                TreeNode node = treeView1.SelectedNode;
                if (node != null)
                {
                    string path = (node.Tag as string);
                   // Image showImage = (node.Tag as Image);
                    DoDragDrop(path, DragDropEffects.All);
                }
            }
        }

本人猜测可能是原因是本人加载TreeView节点的代码放在了FORM_LOAD中的原因,于是本人在界面上新建了一个菜单,在菜单上按钮的相应事件中添加节点;但是这样做的话 Item_Drag中node = treeView1.SelectedNode;得到的节点反而为NULL,求指导~

解决方案

40

拖动树的节点到哪去。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C# TreeView控件selectedNode属性的使用问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)