导到Excel里面吧,这样格式好控制一点

解决方案 »

  1.   

    界面动态布局,考虑使用xml文件。第一种情况,按顺序导出即可,ListBox的项每个队员文本文件的一行,这样重新加载按行解析也很方便
    第二种,使用xml文件,比如:
    <control name="" location="" value=""></control>
    以这种格式的形式,把控件名、位置、内容等存储下来
      

  2.   

    进展:第一种情况下,已经实现导出,但是布局有点不整齐,C#里有没有关于txt文档的location之类的方法?
             导出的同时打开txt文档,这个怎么实现呢?
      

  3.   

    1.txt里只是文本,没有格式,想要格式,自己加空格和换行
    2.dat是自定义扩展名,里面存的是二进制吧,这东西没有任何系统软件能够打开,一般是自己程序保存一些数据,然后可以自己读出来重新赋值给变量的时候用的
    3.打开txt文件,可以使用prosess.start(路径),系统会默认用文本文档打开,不过你就不要想导出的同时打开了,应该在导出之后打开才对
      

  4.   


            Class1 c=new Class1();        /// <summary>
            /// 序列化Class1类,并保存,相当于存档
            /// </summary>
            private void classSave()
            {
                FileStream fw = new FileStream("D:\\xxx.dat", FileMode.Create, FileAccess.Write);
                BinaryFormatter formatter_w = new BinaryFormatter();
                formatter_w.Serialize(fw, c);
                fw.Close();
            }
            /// <summary>
            /// 从文件反序列化读取存档
            /// </summary>
            private void classLoad()
            {
                FileStream fr = new FileStream("D:\\xxx.dat", FileMode.Open, FileAccess.Read);
                
                BinaryFormatter formatter_r = new BinaryFormatter();
                c = (Class1)formatter_r.Deserialize(fr);
                fr.Close();
                
            }
      

  5.   

    using System.Runtime.Serialization.Formatters.Binary;
    using System.IO;
      

  6.   

    楼上的可行。 就是不能混淆。一混淆就出问题。
    如果需要混淆也可以。需要写一个不混淆的dll 作为序列化和反序列化
      

  7.   

    1.确实是加了些空格和换行,把布局调得看得舒服了,目前就这样做吧。
    2.就是想程序保存些数据,然后读出来给界面上的变量赋值的。具体要怎么做呢,现在在按照导出txt文件的方法做,感觉不太对,而且保存的文件打开是可以看到的,不像dat文件那样,打开是二进制文件。有没有小例子给参考下呢?
    3.在执行完导出操作后,程序自动为用户打开txt文件,方便查看导出的内容。刚试了用prosess.start(路径),提示“找不到应用程序”,百度,路径里文件一般都是类似exe的应用程序,应该是怎样的呢?
    谢谢回复
      

  8.   

    1.格式得你自己定,可以是空格,竖线或者其他;
    2.遍历Controls,判断控件的类型是否是你需要的,然后获取相应的值。得到值之后,问题就简单了,只要根据需要进一步处理就行。
      

  9.   

    参考下,试过之后再回复,谢谢帮忙这是怎么回事啊,我加过 [Serializable]
      

  10.   

    有个比较傻的办法,通过反射的方式获取你winform上面所有的控件,然后把每一个控件保存成为一个xml文件的节点,控件的所有属性都作为节点的属性。。
      

  11.   

    可以考虑xml或者json这类结构
    不需要读取dat恢复状态的话,选择你关注的那些属性就可以了
      

  12.   

    嗯,楼主对序列化的了解更深了一步。
    为了方便未来查看本问题的同学,这里我多嘴两句:
    ”类型未标记为可序列化“问题如何产生以及解决,可以点下面的地址:(答案在21楼)
    http://bbs.csdn.net/topics/120098269#不过,我觉得还是自己定义一个类,把要保存的数据收集到这个类里面,然后再序列化会比较好。