【问题标题】:Making a button that saves lists for the next time the program is run制作一个按钮,在程序下次运行时保存列表
【发布时间】:2026-02-10 06:55:01
【问题描述】:

我正在制作一个 Windows 窗体应用程序。它是一个单词生成器,可以从默认列表中生成一个随机单词,该列表也可以通过用户输入进行修改。我正在寻找一种方法来制作它,以便按钮保存列表,以便用户下次运行应用程序时,他们将拥有与以前相同的列表。 txtaddverb 是用户输入的文本框。缺少的按钮仅对名词、形容词和副词列表执行相同的操作。

我的代码如下所示:

  public class Lists
    {
        public static List<string> verbList = new List<string>() {"eat", "scramble", "slap", "stimulate"};

        public static Random randomverb = new Random();
    }


public string pickRandomVerb()

        {
            return Lists.verbList[Lists.randomverb.Next(0, Lists.verbList.Count)];
        }

public void button1_Click(object sender, EventArgs e)

        {
            if (Lists.verbList.Count > 0) verb.Text = pickRandomVerb();
        }

public void button5_Click(object sender, EventArgs e)

        {
            Lists.verbList.Add(txtaddverb.Text);
            txtaddverb.Clear();
        } 

public void button9_Click(object sender, EventArgs e)

        {
            Lists.verbList.Clear();
            verb.Clear();
            txtaddverb.Clear();
        }

//below is the button that I want to save the list

public static void button13_Click(object sender, EventArgs e)

        {
            //need help here
        }

【问题讨论】:

    标签: c# windows list save


    【解决方案1】:

    视情况而定。你想在哪里保存输入?在文本文件中?在数据库中?

    保存到文本文件的示例

            // 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();
    

    【讨论】:

    • 最简单的。
    【解决方案2】:

    List&lt;string&gt; 写入文件:

    File.WriteAllLines(path, verbList);
    

    如果文件不存在,这将创建文件,否则将覆盖它。

    从文件中读取:

    List<string> verbList = File.ReadAllLines(path).ToList();
    

    【讨论】:

      【解决方案3】:

      如果这个项目更多地供个人使用,那么您可以将列表写入文本文件并在程序加载时将其读回。可以为此实现流读取器和流写入器类。示例代码见http://msdn.microsoft.com/en-us/library/aa903247%28v=vs.71%29.aspx

      如果多个人将使用您的应用程序,我会说将列表保存到数据库将是一个更好的解决方案。这是一个开始的好地方http://www.dreamincode.net/forums/topic/31314-sql-basics-in-c%23/#/ 如果您没有 SQL 服务器,则可以针对 MS Access 之类的东西调整教程。 (您将使用 System.Data.OleDb 而不是 System.Data.SqlClient)

      有很多文章都在讨论如何在文本文件或数据库中读取和写入信息。稍微搜索一下,如果我发布的两个链接没有您想要的内容,您应该能够找到适合您需要的内容。

      【讨论】:

        最近更新 更多