用TreeViewd动态读取ini配置文件里的数据,先谢了 ~!

解决方案 »

  1.   

    基本思路.
    创建流,
    流读取ini文件.
    然后创建树的节点.
    读到之后,给节点赋值.
    关闭流.
    完毕.
      

  2.   

    我没写过,嘿嘿。我建议你读取XML。ini的没写过。如果需要,我会研究下的。
    我可以给你一个网站,你看下吧。
    http://www.cnblogs.com/zzyyll2/archive/2007/11/06/950584.html
      

  3.   


    我ini已经读出来。关键是配合TreeView使用的时候就范晕了 。
      

  4.   

       TreeNode  node =this.treeView1.Nodes.Add("a");
              TreeNode  node1 =  node.Nodes.Add(" b");
              node.Nodes.Add("c");
              node1.Nodes.Add("d");
              node1.Nodes.Add("e");
    这是最简单的树.我刚乱写的.你参考下吧.
      

  5.   

    /*
    ini 文件 [Parameters]
    Auto=1
    Connect=0*/ #region 导入读取ini文件动态库
            [DllImport("kernel32")]
            private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);        [DllImport("kernel32")]
            private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
            #endregion//获取info.ini视频配置文件
                string path = Application.StartupPath + "\\" + "info.ini";
                StringBuilder temp = new StringBuilder(255);
                int i = GetPrivateProfileString("Parameters", "Auto", "1", temp, 255, path);
      

  6.   

    接上
    string IsAuto = temp.ToString();
      

  7.   


    大哥~!麻烦您了,我ini文件可以读出来, 关键的是循环往TreeView里添。谢谢!
      

  8.   

    你可以先将ini文件中读出来的数据存在table中,然后遍历table插入到treeview中?
      

  9.   

    DataTable table = new DataTable("childTable");
                DataColumn column;
                DataRow row;            column = new DataColumn();
                column.DataType = System.Type.GetType("System.Int32");
                column.ColumnName = "Id";            table.Columns.Add(column);            column = new DataColumn();
                column.DataType = System.Type.GetType("System.String");
                column.ColumnName = "Name";
                table.Columns.Add(column);            column = new DataColumn();
                column.DataType = System.Type.GetType("System.String");
                column.ColumnName = "Value";
                table.Columns.Add(column);
                for (int i = 0; i <= 5; i++)
                {
                    row = table.NewRow();
                    row["ID"] = "100" + i;
                    row["Name"] = "Name" + i;
                    row["Value"] = "PampasHawk" + i;
                    table.Rows.Add(row);
                }            for (int m = 0; m < table.Rows.Count; m++)
                {
                    TreeNode node = treeView1.Nodes.Add(table.Rows[m]["ID"].ToString());
                    TreeNode node1 = node.Nodes.Add(table.Rows[m]["Name"].ToString());
                    node.Nodes.Add(table.Rows[m]["Value"].ToString());
                    node1.Nodes.Add(table.Rows[m]["Value"].ToString()+"子节点");
                }
      

  10.   

    你ini文件的格式是什么样的?
    不知道你ini的文件格式 基本方法是这样                 using (StreamReader sr = new StreamReader(@"C:\Documents and Settings\zd-liuyi\桌面\1.txt"))
                {
                    while (!sr.EndOfStream)
                    {
                        string str = sr.ReadLine();
                        this.treeView1.Nodes.Add(str);
                       
                    }
                    sr.Close();
                }
      

  11.   


    现在问题又来了, 我ini里存的是联系人.   有很多, 这个怎么循环读取呢?然后 我有个父节点,叫联系人.  就光给它下面添加子项就行.  。谢谢~!
      

  12.   

    给你个下载地址,有INI操作的源代码;
    你只需要将读取后的数据绑定TreeView控件即可:
    http://download.csdn.net/source/1910043
      

  13.   


      TreeNode nod = this.treeView1.Nodes.Add("联系人");
                //假设你的所有联系人都是在对象里保存的。对象全部用一个数组保存,对象名叫User
               foreach (User var in ArrayList)
               {
                   //循环你得到的ini文件里的人
                  TreeNode nod1 = nod.Nodes.Add("var.userName");
                  nod1.Nodes.Add("var.Tel");
                  nod1.Nodes.Add("var.Address");
                   
               }