即使程序关闭,也要从内存列表中获取数据

时间:2012-01-16 08:38:30

标签: c# winforms

我有一个包含一些数据(字符串)的列表:

Anna
Amy
Johnny
John

然后我有一个方法从列表中获取数据并将其写入listView。

但是当我关闭表单时,列表中的所有数据都会消失(很明显),所以我想知道如何顺利​​记住列表中的数据,以便下次运行程序时,程序会记住数据写入列表中的项目直接到ListView。

3 个答案:

答案 0 :(得分:0)

您需要在某处保留您的数据。

在降低复杂性的过程中,我建议......

  1. 关系数据库(http://msdn.microsoft.com/en-us/library/ms233816(v = vs.80).aspx)
  2. 将本地保存到文件(XML,例如http://support.microsoft.com/kb/815813
  3. 写入文本文件(http://www.csharp-station.com/HowTo/ReadWriteTextFile.aspx)
  4. 从链接(3)可以看出,您可以轻松地读取和写入文件

    namespace csharp_station.howto
    {
    class TextFileWriter
    {
        static void Main(string[] args)
        {
            // create a writer and open the file
            TextWriter tw = new StreamWriter("date.txt");
    
            // write a line of text to the file
            tw.WriteLine(DateTime.Now);
    
            // close the stream
            tw.Close();
        }
    }
    }
    
    
    
    class TextFileReader
    {
        static void Main(string[] args)
        {
            // create reader & open file
            Textreader tr = new StreamReader("date.txt");
    
            // read a line of text
            Console.WriteLine(tr.ReadLine());
    
            // close the stream
            tr.Close();
        }
    }
    

答案 1 :(得分:0)

假设您希望数据在应用程序可执行文件退出后保留,以便在您下次运行它时做好准备,那么您需要查看永久存储解决方案,例如:数据库或文件。您将无法将数据保留在内存中,即使NET分区允许您,您也不知道在哪里查找它。

如果您希望在关闭表单后仍希望数据可用,但仍然运行应用程序,那么您需要将数据提供到更高级别,或者更确切地说,即使在有问题的表格退出。

答案 2 :(得分:0)

对于像这样的小型应用程序特定数据,我建议使用C#的内置持久性设置。这些将保存到应用程序配置文件。

您可以按如下方式访问它们:

// Access the property
Properties.Settings.Default.SettingName = "I'm a string";

// Make sure to save before you exit! Add this to your main form closing event handler perhaps?
Properties.Settings.Default.Save();

您首先需要将它们添加到设置文件中。在Visual Studio中这很容易。在解决方案资源管理器中:项目 - >偏好 - > Settings.settings。