单击按钮在资源文件 (.resx) 中添加数据

Add data in resource file(.resx) on the click of button

我想在单击 windows 表单中的按钮时在资源文件中添加数据。
我有一个包含 3 个文本框的 windows 表单 -

text_box1: 姓名
text_box2:价值
text_box3:评论
和一个名为 Save.

的按钮

我可以在资源文件中保存数据,但不是我想要的方式。它保存在下一行的每个值中,但我希望名称在名称列下,值应该在列下,与注释相同。

我的按钮点击代码:

private void button1_Click(object sender, EventArgs e)
{
    myMethod.Create(textBox1.Text, textBox2.Text, textBox3.Text);          
}

资源文件写入数据代码:

public class myMethod
{
    public static void Create(string myName, string myValue, string myComment)
    {

        ResXResourceWriter resxWriter;
        try
        {
            resxWriter = new ResXResourceWriter(@"D:\Validator_Tool\resx\resx\myres.resx");
            resxWriter.AddResource("Name", myName);
            resxWriter.AddResource("Value",myValue);
            resxWriter.AddResource("Comment", myComment);
            resxWriter.Close();

        }
        catch (FileNotFoundException caught)
        {
            MessageBox.Show("Source: " + caught.Source + " Message: " + caught.Message);
        }
    }
}

请帮我将这 3 个值附加到一行而不是新行中。

尝试使用 ResXDataNode

名称和值可以传递给其构造函数之一:

public ResXDataNode(string name, object value)

和评论可以通过属性 Comment.

设置

在这种情况下使用对象初始化器很方便:

public static void Create(string myName, string myValue, string myComment)
{
    ResXResourceWriter resxWriter;
    try
    {
        resxWriter = new ResXResourceWriter(@"D:\Validator_Tool\resx\resx\myres.resx");

        // --- Use this if it looks more readable and convenient ---
        // var node = new ResXDataNode(myName, myValue);
        // node.Comment = myComment;
        // resxWriter.AddResource(node);

        resxWriter.AddResource(new ResXDataNode(myName, myValue)   
        {
            Comment = myComment
        });

        resxWriter.Close();
    }
    catch (FileNotFoundException caught)
    {
        MessageBox.Show("Source: " + caught.Source + " Message: " + caught.Message);
    }
}