3
A
回答
1
你有没有想过定时器可以定期检查列表框项目,如果有一些项目比 开始你的线程并停止检查。
0
你可以使用线程,但我认为用事件处理方法会更好。默认情况下,ListBox类没有添加项目的事件,但您可以扩展该类以创建自己的项目。下面是你会怎么做一个例子:
public class MyListBox : ListBox
{
private const int LB_ADDSTRING = 0x180;
private const int LB_INSERTSTRING = 0x181;
protected override void WndProc(ref Message m)
{
if (m.Msg == LB_ADDSTRING || m.Msg == LB_INSERTSTRING)
{
OnItemAdded(this, new EventArgs());
}
base.WndProc(ref m);
}
public event EventHandler ItemAdded;
protected void OnItemAdded(object sender, EventArgs e)
{
if (ItemAdded != null)
ItemAdded(sender, e);
}
}
一旦你取得了这个类,只是用它的形式。
public partial class Form1 : Form
{
MyListBox lb = new MyListBox();
public Form1()
{
InitializeComponent();
this.Controls.Add(lb);
lb.ItemAdded += lb_ItemAdded;
}
void lb_ItemAdded(object sender, EventArgs e)
{
// process item here...
}
}
相关问题
- 1. 等待事件发生?
- 2. 等待线程
- 3. 让主线等待事件
- 4. 詹金斯等待事件发生
- 5. 调用condition_variable等待函数时线程如何等待?
- 6. 主线程不会等待事件或回调触发
- 7. 如何等待事件或超时
- 8. 等待的线程
- 9. 让线程等待
- 10. tomcat:等待条件线程
- 11. 多线程 - 等待线程
- 12. 线程在等待某事时发生了什么
- 13. XAML,MVVM和等待事情发生
- 14. 用Selenium等待JavaScript事件
- 15. 如何在继续当前线程之前等待事件发生?
- 16. 重用类等待事件触发
- 17. 使UI线程等待使用的Thread.sleep
- 18. C#生成新线程,然后等待
- 19. 如果我调用WaitHandle.Dispose(),等待线程会发生什么?
- 20. !syncblk标识等待线程
- 21. 等待的线程问题
- 22. GCD和线程等待
- 23. 等待的Win32线程
- 24. Python asyncio等待线程
- 25. 线程在C“等待父”
- 26. 线程等待监视器
- 27. 请等待后台线程?
- 28. 杀死非等待线程
- 29. 线程阻塞后等待
- 30. C#等待其他线程
你试过了什么吗?显示你的努力和阅读[常见问题]和[问] – 2013-03-14 06:42:28
为什么这需要成为一个线程?你为什么不能处理一个事件? – 2013-03-14 06:48:08
哪个事件? ListBox中没有ItemsChanged或ItemsAdded事件 – TalentTuner 2013-03-14 06:49:50