制作一个按钮,在程序下次运行时保存列表
Posted
技术标签:
【中文标题】制作一个按钮,在程序下次运行时保存列表【英文标题】:Making a button that saves lists for the next time the program is run 【发布时间】:2013-02-28 13:22:44 【问题描述】:我正在制作一个 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
【问题讨论】:
【参考方案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<string>
写入文件:
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)
有很多文章都在讨论如何在文本文件或数据库中读取和写入信息。稍微搜索一下,如果我发布的两个链接没有您想要的内容,您应该能够找到适合您需要的内容。
【讨论】:
以上是关于制作一个按钮,在程序下次运行时保存列表的主要内容,如果未能解决你的问题,请参考以下文章
将 Interactive JTable 的内容保存到 .txt 文件以在下次运行时读取它
nodejs 调试 - 保存脚本的状态(包含所有对象和 var 值)并在下次运行时使用它