最近想做一个类似工具箱的小软件,可以自己设定几个主项(控件为button),每个主项下有可以添加几个子项(控件为label),子项分别指向不同的路径,以便打开不同路径下的文件,并且每个主项和子项的字体,颜色等属性都可以设置。我想做个配置文件,由用户建立的主项(button)和其下子项(label)都写在这个文件里。程序启动时读取这个配置文件,然后动态生成相关控件,并且用户可以随时添加,编辑,删除主项和子项。
现有问题:
1。考虑到子项很多,且喜欢绿色软件,所以不想在注册表中写入此配置;
2。考虑过txt文件,自己组织结构,但感觉操作起来还是有些麻烦,搜索,修改还是有些不便;
3。ini文件,但我只会读取和写入,而不会删除ini文件中的项,如果不能删除无用的项,必定文件会越来越大。
4。xml文件,问题同上。
5。如果使用ini和xml配置文件,那就要求主项名必须不同(个别时候程序中的主项和子项控件的text可能会相同,所以不好直接采用主项和子项控件的text称作为主项,只好采用主项和子项控件名称作为主项名),所以在动态生成控件时,控件的名字中必然会采用特征码+数字的格式,这样的话,在删除一个主项或子项时,后续的项必须要改名为删掉的项的名字,要不时间长了,个项的名字也会越来越长。
6,只想采用一个配置文件,不想一个程序附带很多配置文件。此配置内的项不项其他程序那般固定,所以才有了以上几种问题。不知各位高手对以上几个问题,有没有什么好的建议,诚请大家讨论,相信大家此问题都有必要了解,也都有自己的看法。

解决方案 »

  1.   

    xml没有问题
    数据库也可以
      

  2.   

    xml可以,如果不会,用个access数据库也行。
      

  3.   

    xml,不会删除可以学啊 
    读取和写入不也是由不会到会的
    第5个问题,取决于怎样设置xml格式,如果text相同,text不能作为一项的唯一标志。太复杂了,没怎么看。说实话
     
      

  4.   

    使用System.Configuration中的ConfigurationSection和ConfigurationElement进行主子项的编写。
    把这些项都类型化了。
      

  5.   

    继承Label、Button类实现序列化
    存对象到资源文件、二进制序列化后到文件继承ApplicationSettingsBase