gridControl添加右键菜单

1.从工具箱中拖拽一个标准控件ContextMenuStrip到窗体中,该控件将出现在整个窗体的下方,重命名如contextPopMenu

2.点击控件右上方的小三角,添加成员子菜单MenuItem,注意顶端出现的名称contextPopMenu是整个控件的名称,不能删除,添加的MenuItem会出现在其下方

3.为添加的每个MenuItem设置name和text属性

4.在gdc(不是gdv)控件的ContextMenuStrip属性中选择刚才创建的控件contextPopMenu

5.添加gdv控件的PopupMenuShowing事件,处理点击右键后,弹出菜单前的处理机制

6.在PopupMenuShowing事件中可根据当前选中行状态,判断是否弹出菜单,如

            if (!btAlterFlt.Enabled) //编辑状态解钩弹出菜单和控件的关系,实现右键无操作
                gdcFlts.ContextMenuStrip = null;
            else
                gdcFlts.ContextMenuStrip = contextPopMenu;

    MenuItemEnterBuffer.Text = $"加入缓冲区 ({buffer.Count})"; //改写菜单项名称

7.在contextPopMenu控件的ItemClicked事件进行处理

右键点击某菜单项后,gdv的焦点也会切换到当前行,可在此事件中通过FocusRowHandel获取,而后处理

if ((e.ClickedItem).Name == "MenuItemBack") //根据点击的菜单项进行处理
 {...}

else if ((e.ClickedItem).Name == "MenuItemEnterBuffer")

{...}

猜你喜欢

转载自www.cnblogs.com/mol1995/p/11374746.html
今日推荐