读书人

ListView疑问?该如何处理

发布时间: 2012-03-06 20:47:55 作者: rapoo

ListView疑问??
部分代码:

//删除当前DTU的信息记录
public void removeListView(Client client)
{

if (clients.Contains(client.Rtua))
{
clients.Remove(client.Rtua);
listView1.Items.RemoveByKey(client.Rtua);
//listView1.Items.Remove(listView1.Items[client.Rtua]);
}
this.tbClientsNum.Text = System.Convert.ToString(clients.Count);
//client.StopFlag = true;
//client.CurrentSocket.Close();

listView1.Refresh();

ListViewItem lvi = new ListViewItem();
lvi.Tag = client.Rtua;
lvi.Text = client.Rtua;
lvi.SubItems.Add(getIPAddress());
lvi.SubItems.Add(tbSocketPort.Text);
lvi.SubItems.Add(DateTime.Now.ToString());
lvi.SubItems.Add(client.IpAddress);
lvi.SubItems.Add(client.Port);
lvi.SubItems.Add(client.ProtocolType);
lvi.SubItems.Add( "No ");
this.listView1.Items.Add(lvi);

client.StopFlag = true;
client.CurrentSocket.Close();
}

//添加DTU并更新界面状态
public void addListView(Client client)
{
if (clients.Contains(client.Rtua))


{
clients.Remove(client.Rtua);
}

if (listView1.Items.ContainsKey(client.Rtua))
{
//listView1.Items.RemoveByKey(client.Rtua);
listView1.Items.Remove(listView1.Items[client.Rtua]);
}

clients.Add(client.Rtua, client);

ListViewItem lvi = new ListViewItem();
lvi.Tag = client.Rtua;
lvi.Text = client.Rtua;
lvi.SubItems.Add(getIPAddress());
lvi.SubItems.Add(tbSocketPort.Text);
lvi.SubItems.Add(DateTime.Now.ToString());
lvi.SubItems.Add(client.IpAddress);
lvi.SubItems.Add(client.Port);
lvi.SubItems.Add(client.ProtocolType);
lvi.SubItems.Add( "Yes ");
this.listView1.Items.Add(lvi);

this.tbClientsNum.Text = System.Convert.ToString(clients.Count);
}

请问为什么我能把信息添加上listView1,但是删除的时候就是删除不了(界面上仍然显示出来)
是什么问题呢??
THS


[解决办法]
trace一下
[解决办法]
以前遇到过,准确的答案忘记了,不过大概是因为行数组里面删除了,但是列数组里面没有删除;或者列数组里面删除了,但是行数组里面没有删除;

楼主自己看看

读书人网 >C#

热点推荐