Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用StreamWriter编辑文本文件中的文本?_C#_Streamwriter - Fatal编程技术网

C# 如何使用StreamWriter编辑文本文件中的文本?

C# 如何使用StreamWriter编辑文本文件中的文本?,c#,streamwriter,C#,Streamwriter,我正在创建一个在列表框中显示文本文件内容的应用程序。我已经创建了一个编辑表单来编辑项目。编辑显示在列表框中,但我发现很难将其保存到文本文件中。有什么建议我可以这样做吗 以下是我的编辑表单的代码: public static ArrayList switches = new ArrayList(); public static frmSwitches frmkeepSwitches = null; public static string inputDataFile = "

我正在创建一个在列表框中显示文本文件内容的应用程序。我已经创建了一个编辑表单来编辑项目。编辑显示在列表框中,但我发现很难将其保存到文本文件中。有什么建议我可以这样做吗

以下是我的编辑表单的代码:

    public static ArrayList switches = new ArrayList();
    public static frmSwitches frmkeepSwitches = null;
    public static string inputDataFile = "LeckySafe.txt";
    ListBox listBoxSwitches;

    public frmEditSwitch(ListBox lstSwitch)
    {
        InitializeComponent();
        listBoxSwitches = lstSwitch;
    }

    public string NewText
    {
        get
        {
            return txtSerialNo.Text;
        }
    }

    private void btnReset_Click(object sender, EventArgs e)
    {
        txtSerialNo.Text = "";
    }

    private void frmEditSwitch_Load(object sender, EventArgs e)
    {
        txtSerialNo.Text = listBoxSwitches.SelectedItem.ToString();
    }

    private void btnCancel_Click(object sender, EventArgs e)
    {
        frmSwitches.frmkeepSwitches.Show();
        this.Close();
    }

    private void btnSave_Click(object sender, EventArgs e)
    {
        listBoxSwitches.Items[listBoxSwitches.SelectedIndex] = txtSerialNo.Text;
        frmSwitches.frmkeepSwitches.Show();
        this.Close(); 
    }        
}
主窗体上的代码:

private void btnEdit_Click(object sender, EventArgs e)
{
    lstSwitch_SelectedIndexChanged(null, null);
    frmEditSwitch tempEditSwitch = new frmEditSwitch(lstSwitch);
    tempEditSwitch.Show();
    frmkeepSwitches.Hide();
    //My line
    lstSwitch.Items[lstSwitch.SelectedIndex] = tempEditSwitch.NewText;
}

通常,只显示相关代码。

我在代码中没有看到StreamWriter。当然,我也不知道你在哪里读文件。也许你可以展示代码的相关部分,例如,我不认为重置按钮代码是相关的。另外,您在使用StreamWriter的哪一部分遇到问题…什么是FRMKEEP开关?我发现很难将它们保存到文本文件是什么意思。搜索如何使用StreamWriter创建和保存文本文件。。还有,您是否使用调试器单步执行自己的代码..?我一直在使用streamwriter进行添加表单,但每次我将其用于编辑表单时,它都不会将更改保存到文本文件中
using (StreamWriter writer = new StreamWriter(inputDataFile))
{
     foreach (var item in lstSwitch.Items)
     {
         writer.WriteLine(item.ToString());
     }
}