DevExpress 给TreeList添加右键菜单
只有在右击节点时才会触发
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为例:
- private void treeList1_MouseUp(object sender, MouseEventArgs e)
- {
- TreeList tree = sender as TreeList;
- if (e.Button == MouseButtons.Right
- && ModifierKeys == Keys.None
- && treeList1.State == TreeListState.Regular)
- {
- Point p = new Point(Cursor.Position.X, Cursor.Position.Y);
- TreeListHitInfo hitInfo = tree.CalcHitInfo(e.Location);
- if (hitInfo.HitInfoType == HitInfoType.Cell)
- {
- tree.SetFocusedNode(hitInfo.Node);
- }
- if (tree.FocusedNode != null)
- {
- popupMenu1.ShowPopup(p);
- }
- }
- }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)