1

ファイル名はcontacts.txtです。その内容は次のとおりです。

line 1: Adam
line 2: adam@gmail.com
line 3: Kris
line 4: kris@gmail.com

という名前のリストビューがありlistview1ます。2列あり、ColumnHeader1ColumnHeader2

ファイルに名前を追加し、にColumnHeader1メールを送信したいのですが、次のColumnHeader2ようになります。

Adam    adam@gmail.com
Kris    kris@gmail.com

それ、どうやったら出来るの?

また、フォームが読み込まれるたびにこれが自動的に行われるようにしたいと思います。

前もって感謝します。

これを試してみました。

using (StreamReader sr = new StreamReader(@"C:\Contacts.txt"))
{
    while (sr.EndOfStream)
    {
        ListViewItem lvi = new ListViewItem(sr.ReadLine());
        lvi.SubItems.Add(sr.ReadLine());
        listView1.Items.Add(lvi);
        continue;
    }
    sr.Close();
}
4

1 に答える 1

1

continue言葉を出してください。必要ないはずです。

次のようなものを試してください。

using (StreamReader sr = new StreamReader(@"C:\Contacts.txt"))
{
  while (-1 < sr.Peek())
  {
    try
    {
      string name = sr.ReadLine();
      string email = sr.ReadLine(); 
      var lvi = new ListViewItem(name);
      lvi.SubItems.Add(email);
      listView1.Items.Add(lvi);
    } catch (Exception) { }
  }
  sr.Close();
}

これtry/catchは、ファイルに偶数のエントリがない場合に備えてあります。

于 2013-03-01T21:06:11.427 に答える