只有在右击节点时才会触发
private void treeList1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
treeList1.ContextMenuStrip = null;
TreeListHitInfo hInfo = treeList1.CalcHitInfo(new Point(e.X, e.Y));
TreeListNode node = hInfo.Node;
treeList1.FocusedNode = node;
if (node!=null)
{
treeList1.ContextMenuStrip = contextMenuStrip1;
}
}
}
添加BarManager和popupMenu组建:设置popupMenu组件的Manager属性:
右键点击popupMenu主键,点击Customize选项添加菜单:
然后便可添加到鼠标事件中,此处以TreeList为例:
- privatevoidtreeList1_MouseUp(objectsender,MouseEventArgse)
- {
- TreeListtree=senderasTreeList;
- if(e.Button==MouseButtons.Right
- &&ModifierKeys==Keys.None
- &&treeList1.State==TreeListState.Regular)
- {
- Pointp=newPoint(Cursor.Position.X,Cursor.Position.Y);
- TreeListHitInfohitInfo=tree.CalcHitInfo(e.Location);
- if(hitInfo.HitInfoType==HitInfoType.Cell)
- {
- tree.SetFocusedNode(hitInfo.Node);
- }
- if(tree.FocusedNode!=null)
- {
- popupMenu1.ShowPopup(p);
- }
- }
- }