怎样防止Treeview自动触发onchange事件?

仙侣步惊云 2009-05-21 08:39:18
放一个treeview,随便建几个node,然后在onchange中写showmessage('test');发现onchange紧跟在mainform的create后就触发了,有办法不让它自动触发吗?
...全文
124 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
diecode 2009-05-22
  • 打赏
  • 举报
回复
方法一:
TreeView1.Items.BeginUpdate;
.....
TreeView1.Items.EndUpdate;
方法二:
添加前:把onchange赋值nil
添加后再给onchange赋值
john1973 2009-05-21
  • 打赏
  • 举报
回复
最好用onexpanding做.
Harryfin 2009-05-21
  • 打赏
  • 举报
回复
tab order引起的? 楼主说说看,学习下。
7年 2009-05-21
  • 打赏
  • 举报
回复
tab order?学习了。
byteh 2009-05-21
  • 打赏
  • 举报
回复
LZ,你的mainform的create是不是有操作TreeView的?
你说的解决方法还真少见,呵呵
仙侣步惊云 2009-05-21
  • 打赏
  • 举报
回复
谢谢,自己安装一个onchange是个办法。
不过我刚刚发现一个更好的办法,就是调整一下treeview的tab order。
bdmh 2009-05-21
  • 打赏
  • 举报
回复

如果你创建时,有展开所有节点或者添加节点的代码,把代码加在下面两句之间
TreeView1.Items.BeginUpdate;

TreeView1.Items.EndUpdate;

如果是其它情况,可以自己定义一个Onchange事件,等FormCreate完成后(node都添加完成后),动态给Treeview的Onchange事件指向你自定义的事件(后绑定)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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