如何双击listbox的项时重新绘制listbox?

firechun 2003-08-29 06:35:53
listbox的drawmode设置为手工绘制,在每个列表项前加上图标,如何能做到双击列表项时,改变该项的图标?

doubleclick的事件参数是System.EventArgs,而DrawItem的事件参数是DrawItemEventArgs,不能用CType进行类的转换,怎样才能在双击事件中声明一个DrawItemEventArgs的类呢?
...全文
32 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
firechun 2003-08-30
  • 打赏
  • 举报
回复
谢谢,调用refresh可以解决我现在的问题,因为双击后我要重绘整个listbox(listbox的内容完全改变)。不过如果我要重绘某一项的话(listbox的内容没有改变,只改变双击项的图标),还需要加些代码才行,我对DrawItem事件的触发还不是完全明白,在DrawItem中我写了如下代码

if isDblClick then 'isDblClick在DoubleClick事件中设置为True
newIcon=new Icon("icon1.ico")
isDblClick=False
else
newIcon=new Icon("icon2.ico")
end If
双击后,可以看见双击的那一项的图标变成icon1,然后又变回icon2,不能固定成icon1。我注释掉isDblClick=False这句,则所有项的图标都变成icon1,请问这里应该如何处理?
canyqf 2003-08-30
  • 打赏
  • 举报
回复
isDblClick 什么时候设为False的?
你什么时候要让这一项的icon变回icon1就什么时候设为False...
canyqf 2003-08-29
  • 打赏
  • 举报
回复
doubleclick事件中调用refresh方法强制更新

16,556

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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