读书人

高难度有关问题: 怎样禁止双击treevie

发布时间: 2012-02-04 15:43:09 作者: rapoo

高难度问题: 怎样禁止双击treeview节点时自动展开或者折叠的行为
双击treeview节点时,
禁止自动展开或者折叠

那个beforexpand或者beforecollapse事件根本没有catch到..

[解决办法]
有难度,帮顶
[解决办法]
UP
[解决办法]
private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
{
this.treeView1.Nodes[0].Collapse();
}
[解决办法]
UP~
[解决办法]
在TreeView的Double_Click事件中
判断节点的状态:如展开,则折叠;如折叠,则展开。(反正就是再执行一次相反的操作)
[解决办法]
只是有点闪。
根据实际功能,更换为其它控件!..
[解决办法]
采用TreeView的Double_Click事件来处理,也可以用beforexpand事件,不过要判断当前鼠标的状态,有点困难

[解决办法]
不如干脆不用TreeView
[解决办法]
把以前的思维反过来就ok吧?

void Data_Bound(Object sender, TreeNodeEventArgs e)
{



if(e.Node.Depth == 1)
{

// Expand the node using the Expand method.
e.Node.Collapse();

}
else
{


e.Node.Expand();

}

}


[解决办法]
有难度...

楼上说的逆向操作,估计不是楼主想要的
[解决办法]
在WndProc函数里把WM_NOTIFY中的TVN_ITEMEXPANDING,TVN_ITEMEXPANDED 试试.


[解决办法]
如果仅仅是不让展开好办:

private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
e.Cancel = true;
}

就可以了,但是我觉得楼主应该是还想让点+时能点开,只是屏蔽双击吧?
[解决办法]
重写WndProc ( ref System.Windows.Forms.Message m )

拦截treeView1双击消息即可

读书人网 >C#

热点推荐