我需要在线程中放置一些ListView填充代码。对于简单的情况,这个线程不应该运行两次。当我想要发布新线程时,以前需要停止,不管做什么。如何在c#中填充线程安全ListView?
EDIT 1
的场景是以下内容。
我在ListView上方有一个文本过滤器。在textchange上我调用了一个populateList()方法。
问题是,代码可能需要更长的时间,因为它在更大的数据库上使用SQL LIKE
语法。
在运行之前,用户不能输入任何内容。所以当你输入“abc”时,会出现严重的问题,你只能在10秒后输入“c”。
所以我心里有问题线程的populateList()方法,并允许用户快速输入更多的东西。文本越慢,SQL查询就越慢。 在“abc”情况下,如果键入“a”代码后退并运行查询,但与此同时,如果用户按下“b”,我想停止执行“a”线程并立即发出新线程使用“ab”...等等与“c”。
EDIT 2
还在寻找更多的答案。
看到我的编辑问题 – Pentium10 2010-02-16 12:30:41
我会试试这个,但我不知道我是否能够检测到循环中的变化,因为事件接缝仅在人口过程完成后触发。我会看看。 – Pentium10 2010-02-17 11:54:57
嗨奔腾,刚试过。有用。让我知道它是否也适用于您。检查我编辑的伪代码 – Amsakanna 2010-02-20 19:50:24