将CheckedListBox选中的项目保存到.txt文件中

时间:2017-06-07 10:26:51

标签: c# asp.net

我是c#和windows表单应用程序的新手。 我想保存以将选中的项目从checkedlistbox保存到.txt文件(如果不存在)然后创建,如果存在则添加。

这是我如何将数据绑定到我的checkedlistbox,我不确定这是否是正确的方法,或者还有另一种方法可以为checkedboxlist增加价值。

public void bind_clbDepartment()
    {
        DataSet ds = DataBank3.get_department();
        DataTable dt = ds.Tables[0];

        foreach (DataRow drow in dt.Rows)
        {
            clbDepartment.Items.Add(drow["id_dept"] + ":" + drow["name_dept"]);
        }
    }


private void Save_Click(object sender, EventArgs e)
        {
            //save selected items from clbDepartment to D:\test.txt
            //create if not exist, append if exist
        }

2 个答案:

答案 0 :(得分:0)

您可以尝试以下操作。

在课程代码的开头添加此using

using System.IO;

并将此代码添加到要将所选复选框的值写入文件的位置:

string path = "<path to file>";

foreach (ListItem item in clbDepartment.CheckBoxes.Items)
   if (item.Selected)
      File.AppendAllText(path, item.Value);

答案 1 :(得分:0)

正如this文章所说,你有一些选择

要将字符串数组写入文件,请执行此操作

string[] lines = { "First line", "Second line", "Third line" };
System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);

要写一个字符串,请执行此操作

string text = "A class is the most powerful data type in C#. Like a structure, a class defines the data and behavior of the data type.";
System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

要选择性地在数组中写入字符串,请执行此操作

using (System.IO.StreamWriter file = 
            new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
        {
            foreach (string line in lines)
            {
                // If the line doesn't contain the word 'Second', write the line to the file.
                if (!line.Contains("Second"))
                {
                    file.WriteLine(line);
                }
            }
        }

要在现有文件的末尾添加一行,请执行此操作

using (System.IO.StreamWriter file = 
    new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
{
    file.WriteLine("Fourth line");
}