0
我使用这种方法,它一直说listView1有项目,即使没有出现在列表视图中?C#ListViewItems没有返回空
private void button8_Click(object sender, EventArgs e)
{
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\test.txt";
if (Directory.Exists(filePath))
{
listView1.Items.Clear();
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
using (TextReader sr = new StreamReader(fs))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] data = line.Split(new char[] { ',' });
ListViewItem lvi = new ListViewItem();
if (listView1.Items.Count > 0)
{
MessageBox.Show("ListViewCount#1: '" + listView1.Items.Count + "'.");
}
lvi.Text = data[0];
lvi.SubItems.Add(data[1]);
lvi.SubItems.Add(data[3]);
lvi.SubItems.Add(data[4]);
lvi.Tag = data[2];
listView1.Items.Add(lvi);
if (listView1.Items.Count > 0)
{
MessageBox.Show("ListViewCount#2: '" + listView1.Items.Count + "'.");
}
}
}
}
if (listView1.Items.Count == 0)
{
MessageBox.Show("ERROR: ListView has no data to show.");
return;
}
}
}
的listView1.count的“LVI”部分之后是大于0,在这之前它是空的(与消息框该方法之前和之后的计数ListView1的测试),它为什么说它具有“ListView1的.count of 1“如果所有的”数据“都是空的?我尝试了其他方法来解决这个问题,在其他方法中使用自定义布尔值,但它只是不切实际的向他们提及,我想要做的就是如果listview1为0,告诉用户没有数据。
“StreamReader”的输入是什么?有可能输入文件只有换行符? –
您能否添加缺失代码? 'listView1'在哪里实例化? – kat1330
目前还不清楚你在问什么。此外,这样的问题需要[MCVE] –