本文提供俩种不需要手动添加编辑控件方法。
方法一:创建新的右键菜单添加“执行选择”按钮,且抑制TreeList自带菜单
结果展示:

代码: - private void Form1_Load(object sender, EventArgs e)
- {
- CreateBarButtonItem();
- }
- private void CreateBarButtonItem() {
- // 创建右键菜单
- ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
- // 添加 "执行选择" 菜单项
- ToolStripMenuItem execSelectedItem = new ToolStripMenuItem("执行选择");
- execSelectedItem.Click += ExecSelectedItem_Click; ;
- contextMenuStrip.Items.Add(execSelectedItem);
- // 关联右键菜单与 TreeList 控件
- treeList1.PopupMenuShowing += TreeList1_PopupMenuShowing;
- }
- private void TreeList1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
- {
- // 禁用自带的右键菜单
- e.Allow = false;
- }
- private void ExecSelectedItem_Click(object sender, EventArgs e)
- {
- //处理“执行选择”事件逻辑
- }
复制代码 方法二:在TreeList自带菜单基础上添加“执行选择”按钮
结果展示:

右键空节点

右键节点,保留自带菜单功能

右键列标题,保留自带菜单功能
代码: - private void Form1_Load(object sender, EventArgs e)
- {
- treeList1.PopupMenuShowing += TreeList1_PopupMenuShowing;//自定义右键展示菜单
- }
- private void TreeList1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
- {
- // 获取右键菜单
- if (e.Menu is TreeListMenu menu)
- {
- // 添加自定义按钮
- DXMenuItem execSelectedItem = new DXMenuItem("执行选择");
- execSelectedItem.Click += ExecSelectedItem_Click;
- // 将自定义按钮插入到菜单的末尾
- menu.Items.Add(execSelectedItem);
- }
- }
- private void ExecSelectedItem_Click(object sender, EventArgs e)
- {
- //处理“执行选择”事件逻辑
- }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |