我有一个Devexpress.XtraTreeList组件。我想抓住点击事件,其中用户点击展开按钮或节点?我怎么能理解这个?
编辑:其实我正在尝试使用treelist做一些类似Outlook的事情。单击节点(例如收件箱)时,收件箱中的消息将显示在屏幕的右侧。当用户单击另一个节点时,必须更新树形记录,因为可能会读取某些消息。我在点击事件中完成了这个功能。没关系。但在这种情况下,展开按钮功能无法正常工作。
答案 0 :(得分:6)
我找到了解决方案..
谢谢大家......
private void treeList1_Click(object sender, System.EventArgs e) {
DevExpress.XtraTreeList.TreeList tree = sender as DevExpress.XtraTreeList.TreeList;
DevExpress.XtraTreeList.TreeListHitInfo info = tree.CalcHitInfo(tree.PointToClient(MousePosition));
if(info.HitInfoType == DevExpress.XtraTreeList.HitInfoType.Cell)
... // your code is here
}
答案 1 :(得分:2)
单击节点时不会触发任何事件。但是,以下是您可能感兴趣的其他一些事件:
AfterExpand
- 在展开节点后立即触发。
BeforeExpand
- 在展开节点之前触发。
FocusedNodeChanged
- 在更改焦点节点后立即触发(当用户选择节点时发生,无论他们是否点击它或使用箭头键到达那里)。
我还会注意到DevExpress拥有自己的知识库,包含示例和示例代码。这将是开始研究未来问题的好地方:http://www.devexpress.com/Support/Center/
答案 2 :(得分:1)
private void xtraTree_AfterFocusNode(object sender, NodeEventArgs e)
{
}
您可以在XtraTreeList控件上处理上述事件,然后从NodeEventArgs中提取单击的节点 - e.Node