private void oContextMenu_Popup(object sender, System.EventArgs e) { this.oContextMenu.MenuItems.Clear(); MenuItem oItem; switch (this.oTree.SelectedID) { case "First Tree Item" : oItem = new MenuItem("First Stuff To Do"); oItem.Click += new System.EventHandler(this.oMenu_Handler); this.oContextMenu.MenuItems.Add(oItem); oItem = new MenuItem("More First Stuff To Do"); oItem.Click += new System.EventHandler(this.oMenu_Handler); this.oContextMenu.MenuItems.Add(oItem); break; case "Second Tree Item" : oItem = new MenuItem("Second Stuff To Do"); oItem.Click += new System.EventHandler(this.oMenu_Handler); this.oContextMenu.MenuItems.Add(oItem); oItem = new MenuItem("More Second Stuff To Do"); oItem.Click += new System.EventHandler(this.oMenu_Handler); this.oContextMenu.MenuItems.Add(oItem); break; } } private void oMenu_Handler(object sender, System.EventArgs e) { MenuItem item = (MenuItem)sender; switch (item.Text) { case "First Stuff To Do" : //etc. break; } }HTH,