protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); ButtonItem[] contextMenu = null; if (e.Button == MouseButtons.Right) { try { contextMenu = (ButtonItem[])(AddInTreeSingleton.AddInTree.GetTreeNode(contextMenuPath).BuildChildItems(this)).ToArray(typeof(ButtonItem)); } catch { return; } ButtonItem item = new ButtonItem(); item.SubItems.AddRange(contextMenu); dotNetBarManager1.RegisterPopup(item); Control ctrl = this as Control; Point p = this.PointToScreen(new Point(e.X, e.Y)); item.PopupMenu(p); } }