我的道歉,如果我使用了錯誤的術語,請下跌免費問我澄清如果有什麼似乎在這個問題困惑如何事先編輯或從列表框中刪除記錄
我想寫在C#,做三件事的程序: 加4個文本字段到列表框,編輯在列表框的一個記錄的任何或所有字段,刪除所有4個字段(在一個單一的記錄)
我存儲數據在一個文本文件「test1.txt」中使用StreamWriter編寫文件和StreamReader來讀取它。 香港專業教育學院設法添加記錄,但我沒有得到它刪除或編輯記錄 這是我的代碼如下所示:
string path = "test1.txt";
int index = -1;
public Form1()
{InitializeComponent();}
private void Form1_Load(object sender, EventArgs e)
{
readFile();
}
private void readFile()
{
displayEventsBox.Items.Clear();
StreamReader sr = new StreamReader(path);
string record = sr.ReadLine();
{
displayEventsBox.Items.Add(record);
record = sr.ReadLine();
}
sr.Close();
}
private void displayEventsBox_SelectedIndexChanged(object sender, EventArgs e)
{
index = displayEventsBox.SelectedIndex;
if (index > -1)
{
string record = displayEventsBox.Items[index].ToString();
char[] delim = { ',' };
string[] tokens = record.Split(delim);
txtTaskName.Text = tokens[0];
txtTaskDescription.Text = tokens[1];
txtDateCreated.Text = tokens[2];
txtDateCompleted.Text = tokens[3];
}
}
private void butAddTask_Click(object sender, EventArgs e)
{
StreamWriter sw = new StreamWriter(path, true);
sw.WriteLine(txtTaskName.Text + "," + txtTaskDescription.Text + "," + txtDateCreated.Text + "," + txtDateCompleted.Text);
sw.Close();
readFile();
clearText();}
private void butEditTask_Click(object sender, EventArgs e)
{
File.Delete(path);
StreamWriter sw = new StreamWriter(path, true);
for (int i = 0; i < displayEventsBox.Items.Count; i++)
{
if (i != index)
{
sw.WriteLine(displayEventsBox.Items[i].ToString());
}
else
{
sw.WriteLine(txtTaskName.Text + "," + txtTaskDescription.Text + "," + txtDateCreated.Text + "," + txtDateCompleted.Text);
}
}
}
private void butDeleteTask_Click(object sender, EventArgs e)
{
File.Delete(path);
StreamWriter sw = new StreamWriter(path, true);
for (int i = 0; i < displayEventsBox.Items.Count; i++)
{
if (i != index)// write from listbox
{
sw.WriteLine(displayEventsBox.Items[i].ToString());
}
}
sw.Close();
readFile();
}
可能有人請幫我找出爲什麼它不會讓我刪除或更新記錄
在情況下,它可以幫助澄清這裏是在代碼 http://collabedit.com/83rev
林困惑,爲什麼你使用流無處不在,但eitherway ......你永遠*你 – Sayse
張貼*錯誤沒有錯誤,它根本不會做任何事情。 我選擇的記錄,按刪除按鈕,它重置爲初始狀態 – Calsolum
也是我使用流的唯一原因是因爲它是我學到的唯一方法,如果有一個更簡單的方法來做到這一點,相同的結果然後我我對任何建議都開放 – Calsolum