为 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 创建保存和加载功能 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在启动 C# .NET 时将文本加载到文本框中

C# WinForm自定义进度条

C# winform 父窗口子窗口按钮控制

使用 json 保存/加载 textRPG

winform程序登陆后关闭登录窗体

C#winform如何实现状态栏