0

我正在制作一个 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
        }
4

3 回答 3

0

将 aList<string>写入文件:

File.WriteAllLines(path, verbList);

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

从文件中读取它:

List<string> verbList = File.ReadAllLines(path).ToList();
于 2013-02-28T13:38:20.543 回答
0

如果该项目更多地供个人使用,那么您可以将列表写入文本文件并在程序加载时将其读回。可以为此实现流读取器和流写入器类。有关一些示例代码,请参阅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 服务器,可以将教程调整为类似微软访问。(您将使用 System.Data.OleDb 而不是 System.Data.SqlClient)

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

于 2013-02-28T13:52:17.977 回答
0

要看。你想在哪里保存输入?在文本文件中?在数据库中?

保存到文本文件的示例

        // 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();
于 2013-02-28T13:24:58.730 回答