C# TreeView动态读取ini配置信息~! 在线等 。急!!!!

xCrossSite 2010-05-14 02:19:46
用TreeViewd动态读取ini配置文件里的数据,先谢了 ~!
...全文
174 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijin177036962 2010-05-14
  • 打赏
  • 举报
回复
上面那段代码最后实现的是
联系人下面有好多人的姓名
每个姓名点开.有它的详细信息.
我想做到这个份上,已经没有任何挑战性了.!
lijin177036962 2010-05-14
  • 打赏
  • 举报
回复

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");

}
nashina 2010-05-14
  • 打赏
  • 举报
回复
给你个下载地址,有INI操作的源代码;
你只需要将读取后的数据绑定TreeView控件即可:
http://download.csdn.net/source/1910043
xCrossSite 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 ice306737293 的回复:]
你可以先将ini文件中读出来的数据存在table中,然后遍历table插入到treeview中?
[/Quote]

现在问题又来了, 我ini里存的是联系人. 有很多, 这个怎么循环读取呢?

然后 我有个父节点,叫联系人. 就光给它下面添加子项就行. 。谢谢~!
Forrest23 2010-05-14
  • 打赏
  • 举报
回复
你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();
}
PampasHawk 2010-05-14
  • 打赏
  • 举报
回复
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()+"子节点");
}
PampasHawk 2010-05-14
  • 打赏
  • 举报
回复
你可以先将ini文件中读出来的数据存在table中,然后遍历table插入到treeview中?
xCrossSite 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lijin177036962 的回复:]
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");
这是最简单的树.我刚乱写的.你参考下吧.
[/Quote]

恩,。~! 麻烦您了。@
xCrossSite 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ice306737293 的回复:]
接上
string IsAuto = temp.ToString();
[/Quote]

大哥~!麻烦您了,我ini文件可以读出来, 关键的是循环往TreeView里添。谢谢!
PampasHawk 2010-05-14
  • 打赏
  • 举报
回复
接上
string IsAuto = temp.ToString();
PampasHawk 2010-05-14
  • 打赏
  • 举报
回复
/*
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);
lijin177036962 2010-05-14
  • 打赏
  • 举报
回复
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");
这是最简单的树.我刚乱写的.你参考下吧.
xCrossSite 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lijin177036962 的回复:]
我没写过,嘿嘿。我建议你读取XML。ini的没写过。如果需要,我会研究下的。
我可以给你一个网站,你看下吧。
http://www.cnblogs.com/zzyyll2/archive/2007/11/06/950584.html
[/Quote]

我ini已经读出来。关键是配合TreeView使用的时候就范晕了 。
lijin177036962 2010-05-14
  • 打赏
  • 举报
回复
我没写过,嘿嘿。我建议你读取XML。ini的没写过。如果需要,我会研究下的。
我可以给你一个网站,你看下吧。
http://www.cnblogs.com/zzyyll2/archive/2007/11/06/950584.html
xCrossSite 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lijin177036962 的回复:]
基本思路.
创建流,
流读取ini文件.
然后创建树的节点.
读到之后,给节点赋值.
关闭流.
完毕.
[/Quote]

大哥~!。。 有源码没啊 ? 现在很着急.~!谢谢
lijin177036962 2010-05-14
  • 打赏
  • 举报
回复
基本思路.
创建流,
流读取ini文件.
然后创建树的节点.
读到之后,给节点赋值.
关闭流.
完毕.

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧