如何保存少量数据(不使用数据库),使输入 listBox1 中的内容不致于在软件关闭后被清零。

解决方案 »

  1.   

    顶楼上的,写入到txt,xml都方便
      

  2.   

    用TXT INI xml  access
      

  3.   


                string fileName=@"D:\1.txt";//完整路径名
                 FileStream fs = new FileStream(fileName, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
                sw.WriteLine(textBox1.Text);
                sw.Flush();
                sw.Close();
    简单来说就是这样写 一个创建文件 一个写入流
      

  4.   

            public void button1_Click(object sender, EventArgs e) //写
            {
                string fileName=@"D:\1.txt";//完整路径名
                FileStream fs = new FileStream(fileName, FileMode.Create);
                StreamWriter sw = new StreamWriter(fs, Encoding.UTF8);
                sw.WriteLine(textBox1.Text);
                sw.Flush();
                sw.Close();
            }        private void button2_Click(object sender, EventArgs e)//读
            {
                textBox1.Text = "";
                string fileName = @"D:\1.txt";//完整路径名
                FileStream fs = new FileStream(fileName, FileMode.Open);
                StreamReader sr = new StreamReader(fs, Encoding.UTF8);
                textBox1.Text = sr.ReadToEnd(); /*直接全部读出来 
                 也可以选择用ReadLine 一行一行 看操作 这是教简单的读写深入可以查阅文件IO*/
                sr.Close();
            }
      

  5.   

    其实很想用ListBox读写,TextBox不想用这个呀,都是一条条存入的。
      

  6.   

    TextBox 不像以前只有一行的…是可以N行啦… ListBox 类似的自己尝试写下就可以了 加入循环而已
      

  7.   

    一样,我就想保存一个数字,不知道用什么方法好,.txt .xml好像太浪费了...
      

  8.   

    序列化

    或者写入到xml文件中
      

  9.   

    先添加命名空间
    序列化保存
    MaterialGroup obj = new MaterialGroup();
    obj.CenterCD="32";
    obj.LineCD="24";
    obj.MaterialGroupCD="2824510000092";
    obj.MaterialGroupName="序列化";
    IFormatter formatter = new BinaryFormatter();
    // SoapFormatter formatter = new SoapFormatter();
    Stream stream = new FileStream("MaterialGroup.xml", FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
    formatter.Serialize(stream, obj);
    stream.Close();再反序列化拿出来
    IFormatter formatter = new BinaryFormatter();
    // SoapFormatter formatter = new SoapFormatter(); Stream stream = new FileStream("MaterialGroup.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
    MaterialGroup obj = (MaterialGroup) formatter.Deserialize(stream);
    stream.Close();
    this.textBox4.Text+="反序列化"+obj[0]+obj[1]+obj[2]+obj[3];
      

  10.   


    using System;namespace ClassStudy
    {
    /// <summary>
    /// MaterialGroup の概要の説明です。
    /// </summary>
    [Serializable]
    public class MaterialGroup
    {
    public MaterialGroup()
    {
    // 
    // TODO: コンストラクタ ロジックをここに追加してください。
    //
    }
    private string _CenterCD;
    private string _LineCD;
    private string _MaterialGroupCD;
    private string _MaterialGroupName;
    public  static string Money=string.Empty; private static string _Money1=string.Empty;
    public static string Money1
    {
    get
    {
    return this._Money1;
    }
    set
    {
    this._Money1=value;
    } }
    public string Money2=string.Empty; private string _Money3=string.Empty;
    public  string Money3
    {
    get
    {
    return this._Money3;
    }
    set
    {
    this._Money3=value;
    } }
    public struct MyMaterialGroup
    {
    public string strCenterCD;
    public string strLineCD;
    public string strMaterialGroupCD;
    public string strMaterialGroupName;
    }
    public string CenterCD
    {
    get
    {
    return this._CenterCD;
    }
    set
    {
    this._CenterCD=value;
    }
    }
    public string LineCD
    {
    get
    {
    return this._LineCD;
    }
    set
    {
    this._LineCD=value;
    }
    }
    public string MaterialGroupCD
    {
    get
    {
    return this._MaterialGroupCD; }
    set
    {
    this._MaterialGroupCD=value; }
    }
    public string MaterialGroupName
    {
    get
    {
    return this._MaterialGroupName; }
    set
    {
    this._MaterialGroupName=value;
    }
    }
    public string this[int i]
    {
    get
    {
    switch(i)
    {
    case 0:
    return this._CenterCD;
    case 1:
    return this._LineCD;
    case 2:
    return this._MaterialGroupCD;
    case 3:
    return this._MaterialGroupName;
    default:
    throw new IndexOutOfRangeException("範囲");
    } }
    set
    {
    switch(i)
    {
    case 0:
     this._CenterCD=value;break;
    case 1:
     this._LineCD=value;break;
    case 2:
     this._MaterialGroupCD=value;break;
    case 3:
    this._MaterialGroupName=value;break;
    default:
    throw new IndexOutOfRangeException("範囲");
    }
    }
    }
    }
    }