我是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
}
答案 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");
}