private void treeView_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
{
// logic to show context menu
if (e.Button == MouseButtons.Right)
{
Point ClickPoint = new Point(e.X, e.Y);
TreeNode CurrentNode = treeView.GetNodeAt(ClickPoint);
if (CurrentNode == null)
return;
// Convert from Tree coordinates to Screen
Point ScreenPoint = treeView.PointToScreen(ClickPoint);
// Convert from Screen to Form
Point FormPoint = this.PointToClient(ScreenPoint);
// showing the context menu
// in Add use an overloaded that adds an eventhandler or anything else
ContextMenu menu = new ContextMenu();
menu.MenuItems.Clear();
menu.MenuItems.Add("新建本级档案");
menu.MenuItems[0].Click += new EventHandler(menuItem1_Click);
menu.MenuItems.Add("新建下级档案");
menu.MenuItems[1].Click += new EventHandler(menuItem2_Click);
menu.MenuItems.Add("删除档案");
menu.MenuItems[1].Click += new EventHandler(menuItem5_Click);
menu.MenuItems.Add("刷新档案");
menu.MenuItems[1].Click += new EventHandler(menuItem7_Click);
menu.Show(this, FormPoint);
}
}