【发布时间】:2015-12-12 21:30:01
【问题描述】:
使用工作线程,我将项目添加到 ListView,但是为此,我已经以如下代码示例所示的形式实现了一个委托。
问题:
执行 ListView.Items.add() 行时,不会向 ListView 添加任何内容
我尝试过的:
我添加了一个按钮,当单击它时,它成功地将 ListViewItem 添加到 ListView 对象中,正如它应该的那样。 (这是在工作线程启动之前,用于测试/调试)
我还尝试将 ListView 交换为 RichEdit,以防我在代码中有错误,但项目成功显示在 RichEdit 中,因此我添加了另一个 ListView,以防第一个/前一个有错误,并且没有重命名ListView,我尝试添加项目,但没有成功。
委托中发生的事情:
什么都没有,在 clear() 方法之后,每个带有标题的 4 列都会消失,并且没有任何内容添加到列表视图中
结论:
我唯一的结论是委托与 ListView 不兼容,因为我能够将项目添加到 RichEdit,但不能添加到 ListView。
这是一个错误吗?我是不是做错了什么?
代码示例
void connected_add_device()
{
string[] t = { "123", "-1", "sa.d.sdf.s.fg", "sda-f-sd-fgds-gf" };
if (display_connected_Devices.InvokeRequired)
display_connected_Devices.BeginInvoke((MethodInvoker)delegate ()
{
display_connected_Devices.Clear();
display_connected_Devices.Items.Add(new ListViewItem(t));
}
);
else
{
display_connected_Devices.Clear();
display_connected_Devices.Items.Add(new ListViewItem(t));
}
}
不管怎样,我有一个糟糕的 GIT 提交。修复一切后,此 ListView(在 GIT 问题之前已成功显示项目)现在不再显示项目。
【问题讨论】: