.net 下 TreeView的一个奇怪问题

HeavensDoor 2011-06-15 08:50:43
我想设置TreeView为只读,就是只能通过代码绑定节点的Check。
所以我注册了BeforeCheck事件,在事件里面设e.Cancel=true

可现在问题是,当我双击TreeView中节点的CheckBox,CheckBox也会被勾上!
也没有走BeforeCheck事件!
且我查了被双击的节点的Checked属性为false。

请问高手这是为什么??
怎么才能控制不被勾上????
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
小志 2011-06-16
  • 打赏
  • 举报
回复
我用VS2005和2010验证过了,没问题啊。
当我双击TreeView中节点的CheckBox,CheckBox不会被勾上!

不知道你的问题是怎样造成。不过可以试一下下面的方法,看能不能解决。在TreeView控件中实现MouseDown事件。
private void treeView1_MouseDown(object sender, MouseEventArgs e) {
if (e.Clicks > 1) {
TreeNode node = treeView1.GetNodeAt(e.X, e.Y);

if (null != node) {
node.Checked = false;//取消选中
}
}
}

111,125

社区成员

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

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

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