TreeView AfterExpand事件未触发c#

时间:2014-04-26 16:58:47

标签: c# .net event-handling treeview treenode

我有一个名为treeView1的TreeView,以及以下代码:

    private void treeView1_AfterExpand(object sender, TreeViewEventArgs e)
    {
        expanded_tree_node = e.Node;
        MessageBox.Show("the node " + expanded_tree_node.FullPath + " was expanded");
        populateTreeViewNode(expanded_tree_node, expanded_tree_node.FullPath, 0);
    }

expanded_tree_node是对TreeNode的引用。

扩展节点时,消息框永远不会显示。我错过了什么吗?

我只是在学习C#.Net。通常我通过单击Visual Studio中的控件来获取事件的框架。但在这种情况下,我需要根据MSDN信息here手动键入事件名称。还有什么我需要做的吗?

2 个答案:

答案 0 :(得分:1)

我能看到此失败的唯一原因是TreeView未订阅该事件。

您可以在设计时通过属性面板订阅它:

enter image description here

或者将它放在构造函数中:

treeView1.AfterExpand += treeView1_AfterExpand;

答案 1 :(得分:0)

在Form1.Design.cs中添加:

this.treeView1.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterExpand);