为 Winform 创建保存和加载功能 [关闭]
Posted
技术标签:
【中文标题】为 Winform 创建保存和加载功能 [关闭]【英文标题】:Create Save And Load Functionality For A Winform [closed] 【发布时间】:2017-07-28 00:46:35 【问题描述】:我有一个带有 5 个文本框和 2 个数据网格的 winform。我需要一种能够按下按钮(或在顶部添加带有文件按钮的菜单并从那里选择保存)并将所有值保存到用户为其选择位置/名称的文件的方法。然后我需要一个按钮(或菜单选项)来加载之前保存的文件,并且“保存”中的所有值都将在屏幕上生成,这样看起来就好像你只是输入了所有值。
这在 VS2017 中是如何实现的?
【问题讨论】:
这是一个通用问题。取决于数据类型。通常你的序列化是最简单的方法。 所以你想要整段代码?何何聪明。 【参考方案1】:您已经描述了您的问题和答案。您可以像这样直接实现:将数据保存到文件中,然后在按下Button 2
时,将该文件中的数据加载到表单中。
其他方法,你可以有全局变量,当按下Button 1
时,你将数据保存到那个变量,然后当按下Button 2
时,你把这个变量的值加载到表格中。
public class UserData
public string Location get; set;
public string Name get; set;
然后以你的形式:
public partial class Form1 : Form
static List<UserData> savedData;
public Form1()
InitializeComponent();
savedData = new List<UserData>();
private void button1_Click(object sender, EventArgs e)
//This is for example only, you get data then save it like this
savedData.Add(new UserData
Location = "US",
Name = "Boston"
);
savedData.Add(new UserData
Location = "US",
Name = "Texas"
);
private void button2_Click(object sender, EventArgs e)
//This is for example only, you WRITE your own business here
foreach (var item in savedData)
label1.Text = item.Location;
label2.Text = item.Name;
【讨论】:
您最好编写完整的工作代码,以防止被否决 我如何实际保存到文件中? @LeiYang:谢谢,我更新了答案。 Yohan:我相信你可以在网上很容易找到保存到文件的教程。例如:docs.microsoft.com/en-us/dotnet/csharp/programming-guide/… 否决我的回答(和问题)。代码可能正在工作,但在我看来,这个问题不应该被“回答”,因为没有个人努力 - 只是懒惰地要求代码,这样的答案证实了 SO 是一种编码服务。以上是关于为 Winform 创建保存和加载功能 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章