总会弹出这个错误 下面代码 刚刚学习C#对listview还不是很熟悉,请问下,这个怎么改才可以显示正常
就是在第二格状态也可以显示
下面是代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.Text.RegularExpressions;namespace 登录家园
{
public partial class Form1 : Form
{
string Sid,result;
int index=-1,Sindex;
bool isRun;
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
} private void 导入SidToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
fileDialog.Multiselect = true;
fileDialog.Title = "请选择文件";
fileDialog.Filter = "文本文件(*.txt)|*.txt";
if (fileDialog.ShowDialog() == DialogResult.OK)
{
string file = fileDialog.FileName;
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding .Default );
string line;
while ((line = sr.ReadLine()) != null)
{
listView1.Items.Add(line);
}
}
} private void 清空SidToolStripMenuItem_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
} private void 开始操作ToolStripMenuItem_Click(object sender, EventArgs e)
{
isRun = true;
Thread thread = new Thread(login );
thread.Start();
} private void login()
{
try
{
while (isRun)
{
CookieContainer cookie = new CookieContainer(); if ((index+1) <= this.listView1.Items.Count-1)
{
index++;
this.Sindex = index;
}
else
{
this.groupBox1.Text = "运行完毕";
break;
}
Console.WriteLine(index);
Sid = this.listView1.Items[index ].SubItems[0].Text;
string url = string.Format("http://house60.3g.qq.com/g/my_home.jsp?sid={0}&g_ut=1", Sid);
result = http.HttpGET(url, "", cookie, 5000); if (result.Contains("更新心情"))
{
this.listView1.Items[index].SubItems[1].Text = "登录成功";
}
else
{
this.listView1.Items[index].SubItems[1].Text = "登录失败";
}
result = Regex.Replace(result, Environment.NewLine, "");
result = Regex.Replace(result, "</p>", Environment.NewLine);
result = Regex.Replace(result, "<br/>", Environment.NewLine);
result = Regex.Replace(result, "</title>([\\S\\s]*)<body>", "");
this.textBox1.Text = Regex.Replace(result, "<(.|\n)+?>", ""); }
}
catch (Exception ex)
{
MessageBox .Show (ex.Message );
}
}
}
}
空记录。
//ListViewItem it = listView1.Items[0] as ListViewItem;
//it.SubItems[1].Text = "2"; ///<- - 只有一个SubItem对象,索引1会抱错
string[] items = new string[2];
items[0] = "1";
ListViewItem it = new ListViewItem(items);
listView1.Items.Add(it); it = listView1.Items[0] as ListViewItem;
it.SubItems[1].Text = "2";