◆TreeView对节点添加修改删除操作◆ 求一TreeView,对节点进行 添加,修改,删除,移动操作的详细代码。谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //右键选取 private void treeMailView_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { TreeNode tn = treeMailView.GetNodeAt(e.X, e.Y); if (tn != null) { treeMailView.SelectedNode = tn; } } if (e.Button == MouseButtons.Left) { TreeNode tn = treeMailView.GetNodeAt(e.X, e.Y); if (tn != null) { Tn = tn; } } }//拖拽 private Point Position = new Point(0, 0); private void treeFileView_ItemDrag(object sender, ItemDragEventArgs e) { DoDragDrop(e.Item, DragDropEffects.Move); } private void treeFileView_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(typeof(TreeNode))) { e.Effect = DragDropEffects.Move; } else e.Effect = DragDropEffects.None; } string filePath = Application.StartupPath.ToString() + "\\MyFiles\\"; private void treeFileView_DragDrop(object sender, DragEventArgs e) { TreeNode myNode = null; if (e.Data.GetDataPresent(typeof(TreeNode))) { myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode))); } else { MessageBox.Show("error"); } Position.X = e.X; Position.Y = e.Y; Position = treeFileView.PointToClient(Position); TreeNode DropNode = treeFileView.GetNodeAt(Position); if (DropNode.Parent == myNode || DropNode == myNode) { } else if (DirAndFileOperator.IsFile(DropNode)) { } else { //DirAndFileOperator.MoveFolder(filePath + myNode.FullPath, filePath + DropNode.FullPath + @"\" + myNode.Name); TreeNode DragNode = myNode; myNode.Remove(); DropNode.Nodes.Add(DragNode); } treeFileView.SelectedNode = DropNode; DropNode.Expand(); } private void treeFileView_DragOver(object sender, DragEventArgs e) { TreeNode myNode = null; if (e.Data.GetDataPresent(typeof(TreeNode))) { e.Effect = DragDropEffects.Move; myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode))); } else e.Effect = DragDropEffects.None; Position.X = e.X; Position.Y = e.Y; Position = treeFileView.PointToClient(Position); TreeNode DropNode = treeFileView.GetNodeAt(Position); treeFileView.SelectedNode = DropNode; } http://www.componentart.com/webui/demos/demos_control-specific/treeview/programming_client/add_removeDisable/WebForm1.aspx Default.aspx.cs文件:using System.Xml;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { XmlDocument doc = new XmlDocument(); doc.Load(Server.MapPath("data.xml")); XmlNode node = doc.DocumentElement; InitTree ( this.TreeView1.Nodes, node ); } private void InitTree ( TreeNodeCollection nodes, XmlNode node ) { XmlNodeList nodeList = node.ChildNodes; foreach ( XmlNode subNode in nodeList ) { TreeNode tmpNode = new TreeNode (); tmpNode.Text = ((XmlElement)subNode).GetAttribute("name"); tmpNode.NavigateUrl = ((XmlElement)subNode).GetAttribute("url"); nodes.Add ( tmpNode ); InitTree ( tmpNode.ChildNodes, subNode ); } }}data.xml文件:<?xml version="1.0" encoding="utf-8"?><root> <baidu name="Baidu" url="http://www.baidu.com"> <hao name="Hao" url="http://www.hao123.com"> <wangyi name="Wangyi" url="http://www.163.com"> </wangyi> </hao> <sina name="Sina" url="http://www.sina.com.cn"> <qq name="QQ" url="http://www.qq.com"> </qq> </sina> </baidu></root> C# winform 如何上传RAR文件到FTP服务器! 跪求!! 我想输出Console里的内容 ,该怎么写 C#中连接mysql数据库可以用什么样的方法? 关于C# 的打印,求打印高手指点 请问C#里面有没有这样的预定义宏? 哪个有微软的原代码 winform下创建了一个全局类,但不循环读取数据 关于AxWebBrowser控件??? 求救:Infragistics.Win.UltraWinGrid控件中如何实现类似EXCEL的数据编辑功能..谢谢啦. 郑州的C#程序员,新年好!大家在这里聚聚吧 即时通信软件使用哪些音频和视频压缩算法? 急,在线等待,一个异步调用中出现的问题
//右键选取
private void treeMailView_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
TreeNode tn = treeMailView.GetNodeAt(e.X, e.Y);
if (tn != null)
{
treeMailView.SelectedNode = tn;
}
}
if (e.Button == MouseButtons.Left)
{
TreeNode tn = treeMailView.GetNodeAt(e.X, e.Y);
if (tn != null)
{
Tn = tn;
}
}
}
//拖拽
private Point Position = new Point(0, 0);
private void treeFileView_ItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Move);
} private void treeFileView_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
e.Effect = DragDropEffects.Move;
}
else
e.Effect = DragDropEffects.None; } string filePath = Application.StartupPath.ToString() + "\\MyFiles\\";
private void treeFileView_DragDrop(object sender, DragEventArgs e)
{
TreeNode myNode = null;
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode)));
}
else
{
MessageBox.Show("error");
} Position.X = e.X;
Position.Y = e.Y;
Position = treeFileView.PointToClient(Position);
TreeNode DropNode = treeFileView.GetNodeAt(Position);
if (DropNode.Parent == myNode || DropNode == myNode)
{ }
else if (DirAndFileOperator.IsFile(DropNode))
{
}
else
{
//DirAndFileOperator.MoveFolder(filePath + myNode.FullPath, filePath + DropNode.FullPath + @"\" + myNode.Name);
TreeNode DragNode = myNode;
myNode.Remove();
DropNode.Nodes.Add(DragNode);
}
treeFileView.SelectedNode = DropNode;
DropNode.Expand();
} private void treeFileView_DragOver(object sender, DragEventArgs e)
{
TreeNode myNode = null;
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
e.Effect = DragDropEffects.Move;
myNode = (TreeNode)(e.Data.GetData(typeof(TreeNode)));
}
else
e.Effect = DragDropEffects.None;
Position.X = e.X;
Position.Y = e.Y;
Position = treeFileView.PointToClient(Position);
TreeNode DropNode = treeFileView.GetNodeAt(Position);
treeFileView.SelectedNode = DropNode;
}
using System.Xml;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("data.xml"));
XmlNode node = doc.DocumentElement;
InitTree ( this.TreeView1.Nodes, node );
} private void InitTree ( TreeNodeCollection nodes, XmlNode node )
{
XmlNodeList nodeList = node.ChildNodes;
foreach ( XmlNode subNode in nodeList )
{
TreeNode tmpNode = new TreeNode ();
tmpNode.Text = ((XmlElement)subNode).GetAttribute("name");
tmpNode.NavigateUrl = ((XmlElement)subNode).GetAttribute("url");
nodes.Add ( tmpNode );
InitTree ( tmpNode.ChildNodes, subNode );
}
}
}data.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<root>
<baidu name="Baidu" url="http://www.baidu.com">
<hao name="Hao" url="http://www.hao123.com">
<wangyi name="Wangyi" url="http://www.163.com">
</wangyi>
</hao>
<sina name="Sina" url="http://www.sina.com.cn">
<qq name="QQ" url="http://www.qq.com">
</qq>
</sina>
</baidu>
</root>