我有一个名为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手动键入事件名称。还有什么我需要做的吗?
答案 0 :(得分:1)
我能看到此失败的唯一原因是TreeView
未订阅该事件。
您可以在设计时通过属性面板订阅它:
或者将它放在构造函数中:
treeView1.AfterExpand += treeView1_AfterExpand;
答案 1 :(得分:0)
在Form1.Design.cs中添加:
this.treeView1.AfterExpand += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterExpand);