using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Collections; using System.IO; namespace 日记本 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } string path = Application.StartupPath + "\\" + "file.txt"; private void BtnSaveriji_Click(object sender, EventArgs e) { string title = txttitle.Text; string type = comType.Text; string tq = comtq.Text; string time = dateTimePicker1.Text; string content = myRichTextBox1.Text; string info = title + "," + type + "," + tq + "," + time + "," + content; WriteFileAdd(path,info); al = ReadFile(path); BdListView(al); MessageBox.Show("保存成功","提示"); } //写入 public void WriteFileAdd(string path, string info) { StreamWriter sw = new StreamWriter(path, true, Encoding.UTF8); sw.WriteLine(info); sw.Close(); } public ArrayList ReadFile(string path) { ArrayList al = new ArrayList(); if (File.Exists(path)) { //读出来 StreamReader sr = new StreamReader(path, Encoding.UTF8); while (sr.Peek() >= 0) { al.Add(sr.ReadLine()); } sr.Close(); } return al; } public void WriteFile(string path, ArrayList al) { StreamWriter sw = new StreamWriter(path, false, Encoding.UTF8); foreach (string s in al) { sw.WriteLine(s); } sw.Close(); }
ArrayList al = null; public void BdListView(ArrayList al) { listView1.Items.Clear(); //在ListView里面显示 foreach (string s in al) { string[] str = s.Split(','); ListViewItem li = listView1.Items.Add(str[0]); for (int i = 1; i < listView1.Columns.Count; i++) { li.SubItems.Add(str[i]); } } } public int indexs; private void listView1_SelectedIndexChanged(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { ListViewItem li = new ListViewItem(); txttitle.Text=li.SubItems[0].Text; comType.Text = li.SubItems[1].Text; comtq.Text=li.SubItems[2].Text; dateTimePicker1.Text=li.SubItems[3].Text; myRichTextBox1.Text=li.SubItems[4].Text; string re = li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text; indexs = al.IndexOf(re); } } private void 删除日记ToolStripMenuItem_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { listView1.Items.Remove(listView1.SelectedItems[0]); //把本地的信息也删除掉 al.RemoveAt(indexs); // //再一次写在本地 WriteFile(path, al); al = ReadFile(path); BdListView(al); } } private void Form2_Load(object sender, EventArgs e) { al = ReadFile(path); BdListView(al); } } }
希望对你有帮助
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
namespace 日记本
{
public partial class Form2 : Form
{ public Form2()
{
InitializeComponent();
}
string path = Application.StartupPath + "\\" + "file.txt";
private void BtnSaveriji_Click(object sender, EventArgs e)
{
string title = txttitle.Text;
string type = comType.Text;
string tq = comtq.Text;
string time = dateTimePicker1.Text;
string content = myRichTextBox1.Text;
string info = title + "," + type + "," + tq + "," + time + "," + content;
WriteFileAdd(path,info);
al = ReadFile(path);
BdListView(al);
MessageBox.Show("保存成功","提示"); }
//写入
public void WriteFileAdd(string path, string info)
{
StreamWriter sw = new StreamWriter(path, true, Encoding.UTF8);
sw.WriteLine(info);
sw.Close();
}
public ArrayList ReadFile(string path)
{
ArrayList al = new ArrayList();
if (File.Exists(path))
{
//读出来
StreamReader sr = new StreamReader(path, Encoding.UTF8);
while (sr.Peek() >= 0)
{
al.Add(sr.ReadLine());
}
sr.Close();
}
return al;
}
public void WriteFile(string path, ArrayList al)
{
StreamWriter sw = new StreamWriter(path, false, Encoding.UTF8);
foreach (string s in al)
{
sw.WriteLine(s);
}
sw.Close();
}
ArrayList al = null;
public void BdListView(ArrayList al)
{
listView1.Items.Clear();
//在ListView里面显示
foreach (string s in al)
{
string[] str = s.Split(',');
ListViewItem li = listView1.Items.Add(str[0]); for (int i = 1; i < listView1.Columns.Count; i++)
{
li.SubItems.Add(str[i]);
}
}
}
public int indexs;
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count > 0)
{
ListViewItem li = new ListViewItem();
txttitle.Text=li.SubItems[0].Text;
comType.Text = li.SubItems[1].Text;
comtq.Text=li.SubItems[2].Text;
dateTimePicker1.Text=li.SubItems[3].Text;
myRichTextBox1.Text=li.SubItems[4].Text;
string re = li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text;
indexs = al.IndexOf(re);
}
} private void 删除日记ToolStripMenuItem_Click(object sender, EventArgs e)
{ if (listView1.SelectedItems.Count > 0)
{
listView1.Items.Remove(listView1.SelectedItems[0]);
//把本地的信息也删除掉
al.RemoveAt(indexs);
// //再一次写在本地
WriteFile(path, al);
al = ReadFile(path);
BdListView(al);
}
} private void Form2_Load(object sender, EventArgs e)
{
al = ReadFile(path);
BdListView(al);
} }
}
{
if (listView1.SelectedItems.Count > 0)
{
ListViewItem li = new ListViewItem();
txttitle.Text=li.SubItems[0].Text;
comType.Text = li.SubItems[1].Text;
comtq.Text=li.SubItems[2].Text;
dateTimePicker1.Text=li.SubItems[3].Text;
myRichTextBox1.Text=li.SubItems[4].Text;
string re = li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text;
indexs = al.IndexOf(re);
}
}
刚才是ListViewItem li = new ListViewItem();错了 改成ListViewItem li = listView1.SelectedItems[0];后 变成InvalidArgument=“3”的值对于“index”无效。就是 dateTimePicker1.Text=li.SubItems[3].Text;出错了 怎么解决呢