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

本文关键字:resx 添加 数据 源文件 按钮 资源 单击 | 更新日期: 2023-09-27 18:28:17

我想在windows窗体中单击按钮,在资源文件中添加数据。
我有一个带有3个文本框的windows表单-

text_box1:名称
text_box2:值
text_box3:评论
以及一个名为CCD_ 1的按钮。

我可以将数据保存在资源文件中,但不能以我想要的方式保存。它保存在下一行的每个值中,但我希望Name位于Name列下,值应该位于列下,和注释相同。

我的按钮点击代码:

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个值附加在一行中,而不是新的一行中。

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

尝试使用ResXDataNode

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

public ResXDataNode(string name, object value)

并且可以通过属性CCD_ 3来设置注释。

在这种情况下使用对象初始值设定项很方便:

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);
    }
}