| 发表于:2007-03-28 13:42:435楼 得分:0 |
private void filetree_mouseup(object sender, system.windows.forms.mouseeventargs e) { // 添加树的右键菜单 if(e.button == mousebuttons.right) { point clickpoint = new point(e.x,e.y); //获取当前点击的节点 treenode currentnode = filetree.getnodeat(clickpoint); if(currentnode == null) return; else { //给节点临时保存变量赋值 _nodetemp = currentnode; if (_nodetemp.parent == null) { return; } } // convert from tree coordinates to screen point screenpoint = filetree.pointtoscreen(clickpoint); // convert from screen to form point formpoint = this.pointtoclient(screenpoint); // showing the context menu // in add use an overloaded that adds an eventhandler or anything else contextmenu menu = new contextmenu(); menu.menuitems.clear(); menu.menuitems.add( "添加子文件夹 "); menu.menuitems[0].click += new eventhandler(addfolder_click); menu.menuitems.add( "删除文件夹 "); menu.menuitems[1].click += new eventhandler(delfolder_click); menu.menuitems.add( "重命名 "); menu.menuitems[2].click += new eventhandler(renamefolder_click); menu.menuitems.add( "- "); menu.menuitems.add( "添加文件 "); menu.menuitems[4].click += new eventhandler(addfiles_click); menu.show(this,formpoint); } ================================================= 对树节点的右键菜单的添加,里面就有如何根据鼠标位置,判断节点的 | | |
|