【问题标题】:Need to make a button that saves all filled in textbox field, so i can load then in if needed需要制作一个按钮来保存所有填写的文本框字段,以便我可以在需要时加载
【发布时间】:2020-01-03 16:41:05
【问题描述】:

我需要制作一个配置全息打印机的应用程序。屏幕和布局是固定的,现在我需要配置它。我需要一种方法来保存所有填写的数据,以便我可以在几天后加载它。但我找不到办法做到这一点

后面的代码

private void Save_as_Click(object sender, RoutedEventArgs e)
{
    SaveFileDialog saveFileDialog = new SaveFileDialog();
    saveFileDialog.Filter = "Text file (*.txt)|*.txt|C# file (*.cs)|*.cs";
    if (saveFileDialog.ShowDialog() == true)
        File.WriteAllText(saveFileDialog.FileName, TBSOMS.Text);
}   

需要保存填充的内容。组合框、文本框、复选框和按钮到一个文件。

【问题讨论】:

  • 你的代码有什么问题?
  • 我有多个文本框、组合框、复选框和按钮。现在它只保存第一个 TextBox
  • 更简单的方法是从输入中获取一个对象 ex: Configuration 并将其序列化,然后在需要时反序列化它something like this

标签: c# wpf


【解决方案1】:

将此代码添加到您的Save_as_Click 方法中,您可以使用SaveFileDialog 获取文件路径。

第一步,根据您的输入创建一个对象

var config = new MyConfiguration();
config.Data1 = myCombobox.SelectedValue;
config.Data2 = myTextBox.Text;
config.Data3 = myCheckBox.IsChecked;

然后使用 XMLSerializer 序列化这个对象

XmlSerializer serializer = new XmlSerializer(typeof(MyConfiguration));

using (StreamWriter writer = new StreamWriter(path)) // provide a path where you want to save your file
{
    serializer.Serialize(writer, config);
}

拥有该文件,您可以随时使用它。只需反序列化它,你就有了 MyConfiguration 对象。

Examples of XML Serialization

How to serialize an object to XML by using Visual C#

相关StackOverflow问题:

Serialize an object to XML

Save file - xmlSerializer

【讨论】:

  • 已经用另一种方式解决了这个问题,SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Text file (*.txt)"; if (sfd.ShowDialog() == true) { using (StreamWriter write = new StreamWriter(File.Create(sfd.FileName))) { write.WriteLine(TBSOMS.Text); write.WriteLine(TBWVB.Text); write.WriteLine(TBWNB.Text); write.WriteLine(TBASPMM1.Text);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-03
  • 2021-08-12
  • 2023-01-07
  • 2018-01-22
  • 2011-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多