ListBox.DrawItem事件不能触发,哪位大侠知道是什么原因

ITapprentice 2005-02-22 03:46:04
如果在BeginUpdate和EndUpdate之间加入Items.Add(..),就不会触发DrawItem事件,不用BeginUpdate和EndUpdate就可以,这是怎么一回事?
...全文
225 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
web_gus 2005-02-22
  • 打赏
  • 举报
回复
学习啊
xixigongzhu 2005-02-22
  • 打赏
  • 举报
回复
更详细的描述:
向 ListBox 添加多个项的首选方法是使用 ListBox.ObjectCollection 类的 AddRange 方法(通过使用 ListBox 的 Items 属性)。这使您得以在一个操作中就可将一组项添加到列表中。但是,如果想使用 ListBox.ObjectCollection 类的 Add 方法一次添加一项,则可以使用 BeginUpdate 方法,以防止每次向列表添加项时控件都重新绘制 ListBox。完成向列表添加项的任务后,调用 EndUpdate 方法来使 ListBox 能够重新绘制。当向列表添加大量的项时,使用这种方法添加项可以防止绘制 ListBox 时闪烁。
xixigongzhu 2005-02-22
  • 打赏
  • 举报
回复
也就是说使用BeginUpdate本来就是为了避免触发DrawItem事件的
xixigongzhu 2005-02-22
  • 打赏
  • 举报
回复
BeginUpdate方法在文档的描述:当向 ListBox 中一次添加一个项时,通过防止该控件绘图来维护性能,直到调用 EndUpdate 方法为止
yizhixiaozhu 2005-02-22
  • 打赏
  • 举报
回复
帮你up一下

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧