不管当前选择的是根目录还是子目录   是不是都是一样的语句啊?  怎么写啊?
还有还有  修改  我也不知道怎么写  哪位大大知道告诉下啦   谢谢先

解决方案 »

  1.   

    还有还有啊    我点子项的时候怎么才能在右边显示出来子项对应的内容啊   内容也都是存在XML里面的
      

  2.   

    XML遍历是看XML遍历的!~
    就上面的图我写一下遍历
    XmlNode node = TreeView.nodes.add("");
    foreach(XmlNode var in node.ChileNode) {
        XmlNode xn = node.nodes.add(var.目录);
        foreach(XmlNode var in xn.ChileNode) {
            xn.nodes.add(var);
        }
    }
    修改的时候要先定义个类然后
    把XML的数据遍历到类中对应的属性
    和字段中,那上面的遍历就不对了
    要先遍历到类中,然后直接去类中的属性
    就可以添加到TreeView
    修改的时候就是根据类中的属性对应XML中的节点来修改//TreeView双击事件
     private void treeView1_DoubleClick(object sender, EventArgs e)
    {
        //那要把遍历XML的节点值全部保存到类中
            然后根据treeView1.SelectedNode.Text;
           来从类中把你要的值,读取到控件中!
    }
      

  3.   

    啊   我还是把我写的代码放上来吧   帮忙改改看   using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Web;
    using System.Xml;
    using System.Xml.Xsl;
    using System.IO;
    namespace Demo
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }
                    /// <summary>
            /// 窗体加载
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void MainForm_Load(object sender, EventArgs e)
            {
                //填充树形控件
                FillTreeView();
            }        /// <summary>
            /// 填充树形控件
            /// </summary>
            public void FillTreeView()
            {
                //清空树形控件
                myTreeView.Nodes.Clear();            string fileName = "menu.xml";                                         //文件地址
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(fileName);                                                //添加文件            XmlNodeList xmlList = xmlDoc.SelectSingleNode("Menu").ChildNodes;     //获取Menu下的所有子项
                foreach (XmlNode xmlNo in xmlList)
                {
                    TreeNode tn = new TreeNode();
                    XmlElement xe = (XmlElement)xmlNo;
                    {
                        tn.Text = xe.GetAttribute("name");
                        foreach (XmlNode subXmlNo in xmlNo.ChildNodes)
                        {
                            TreeNode subTn = new TreeNode();
                            XmlElement subXE = (XmlElement)subXmlNo;
                            {
                                subTn.Text = subXE.GetAttribute("subName");
                                tn.Nodes.Add(subTn);
                            }
                        }
                    }
                    myTreeView.Nodes.Add(tn);            }        }        //显示添加故障窗体
            private void 添加主故障ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                MainFault mf = new MainFault();
                mf.ShowDialog();
                myTreeView.Nodes.Clear();
                FillTreeView();
            }        //显示故障原因窗体
            private void 添加故障原因ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                FaultWhys fw = new FaultWhys();
                fw.ShowDialog();
            }        private void 修改主故障ToolStripMenuItem_Click(object sender, EventArgs e)
            {        }        private void 修改故障原因ToolStripMenuItem_Click(object sender, EventArgs e)
            {        }        private void 修改解决方案ToolStripMenuItem_Click(object sender, EventArgs e)
            {        }        private void 删除选中行ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                myTreeView.
            }
        }
    }
      

  4.   

    看到我加我QQ626552714
    或者把你的XML文件发到我的QQ邮箱里
    把需求也写到邮箱里
    明天我收到,我会在晚上6点之前,给你答案!~~~
      

  5.   

    void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {}
    private void btnDel_Click(object sender, EventArgs e)
            {
                TreeNode selectedNode = treeView1.SelectedNode;
                if (selectedNode == null)
                {
                    MessageBox.Show("请在删除节点之前选中一个节点", "提示");
                    return;
                }  
                TreeNode parentNode = selectedNode.Parent;
                if (parentNode == null)
                {
                    treeView1.Nodes.Remove(selectedNode);
                }
                else
                {
                    parentNode.Nodes.Remove(selectedNode);  
                }
                treeView1.Update();
                treeView1.Select();
            }