DevExpress GridView 添加和设置右键菜单

右键菜单肯定是GridView中经常要使用的一个功能。本文主要描述三个方面:
1、如何在GridView中添加右键菜单
2、如何设置菜单是否可用(enable)

3、如何获取右键点击事件

一、添加右键菜单
1.在VS工具箱中的“菜单和工具栏”找到ContextMenuStrip控件,双击添加。


2.点击ContextMenuStrip右上方的小三角形,打开编辑项,可以添加菜单项。

3.选择gridControl(注意这里不是gridView的属性),在属性中可以找到ContextMenuStrip属性,设置成刚添加ContextMenuStrip。

这样的话,运行起来右击表格就可以看到右键菜单了。

如下图:

二、是否可用设置
在不同情况下,例如选中行的个数以及内容的不同,右键菜单的菜单项是否可用需要作出判断。
在单选时,“编辑”(itemOpen)、“删除”(itemDelete)菜单项都可用,多选时“编辑”不可用,“删除”可用,没有选择时“编辑”、“删除”都不可用。这里需要用到gridView的PopupMenuShowing这个事件。也就是在菜单出现之前用户点击右键之后,来判断一下选择了几行,从而决定菜单项是否可用。

具体代码如下:

 private void gridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e)
        {
            //获取选择的行数
            int intselect = gridView1.SelectedRowsCount;
            MenuItemEdit.Enabled = false;
            MenuItemDelete.Enabled = false;
            if (intselect == 1)
            {
                MenuItemEdit.Enabled = true;
                MenuItemDelete.Enabled = true;
            }
            else if (intselect > 1)
            {
                MenuItemEdit.Enabled = false;
                MenuItemDelete.Enabled = false;
            }
        }

三、如何获取右键点击事件

       #region 右键单击事件
        private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
		    //根据ContextMenuStrip Item 的name来判断
            if ((e.ClickedItem).Name == "MenuItemEdit")
            {

            }
            else if ((e.ClickedItem).Name == "MenuItemDelete")
            {

            }
        }
        #endregion
时间: 2024-10-07 01:32:07

DevExpress GridView 添加和设置右键菜单的相关文章

QStandardItemModel角色控制及QTreeView添加不同的右键菜单

1.概述 QTreeView最长用的一个功能就是作为导航栏,像vs里的项目结构树,word的文档结构图,资源管理器的文档结构,等等都是利用树形结构组织的,在前面已经讲述了Qt中使用标准化项目模型QStandardItemModel对树形控件节点的操作.但有时候,光有节点显示还是不够的,还需要和用户进行交互,如右键点击不同条目会出现不同菜单,这时就需要知道各个节点对应的功能. 在MFC里,树形控件CTreeCtrl是通过SetItemData函数来对节点设置一个指针的值,这个值可以是个指针或者DW

将Sublime Text 添加到鼠标右键菜单的教程方法

安装notepad++软件,在菜单右键自动会添加“edit with notepad++"的选项,那么怎么将Sublime Text 添加到鼠标右键菜单呢?下面是我的操作过程,希望有帮助! 1.win+R打开cmd窗口,输入regedit,打开注册表 2.依次找到HKEY_CLASSESS_ROOT->*->Shell,下面新建项,命名为Edit with Sublime Text3. 3.在项“Edit with Sublime Text”下新建字符串值,命名为Icon,值为 E:

添加程序到右键菜单并设置图标,在打开方式中添加程序

1. 2. 3.例添加notePad++,在shell下创建notePad++文件夹(项),并在notePad++文件夹(项)下创建command文件夹(项) 3.1 3.2 4.添加右键文字,点击notePad++文件夹,编辑右侧默认的值 5.选择要执行的程序,点击command文件夹,编辑右侧默认的值 6.此时已经能够右键打开了 7.添加图标,点击notePad++,右侧空白右键,新建,字符串值,随意命名例icon,并填入图标的路径,注图标格式为.ico 8.在右键菜单的打开方式中添加程序

OpenLayers 3 之 添加地图鼠标右键菜单

添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 contextmenu 事件的回调函数中实现相应的显示菜单功能即可. 那么在 openlayers 中,在地图中添加这个事件,我们从哪里下手呢?首先我们得了解 openlayers 的初始化页面的过程. openlayers 初始化页面过程 openlayers 也是一个前端库,那么它肯定离不开 html 的运用

pyqt5的QListWidget中设置右键菜单

两种思路:一. 重写event事件方法.容易出现冲突事件...二. 利用Widget的添加菜单方式listWidget.setContextMenuPolicy(3) 设置菜单listWidget.customContextMenuRequested[QtCore.QPoint].connect() 绑定方法 此时的右键菜单是整个列表任意地方都会弹出.传递的信号参数是鼠标点击的位置 QPoint. 绑定的函数往往需要其他参数,有两种方式:1> 匿名函数connect(lambda: functi

将 notepad++ 添加到鼠标右键菜单 带图标

1.打开注册表编辑器,HKEY_CLASSES_ROOT\*\shell目录点击右键.新建-->项,这里命名的项则就是鼠标右键列表里面显示的内容,这里起名为[Edit With Notepad++] 2.在[Edit With Notepad++]上右键新建字符串,分别是名称为[Icon]值为notepad++.exe的路径地址,和名称为[MultiSelectModel]值为Single.这一步设置的意义是设置鼠标右键列表中的图标 3.在这里起名为[Edit With Notepad++]的目

怎样手动添加 Sublime 3 右键菜单

[Version] Signature="$Windows NT$" [DefaultInstall] AddReg=SublimeText3 [SublimeText3] hkcr,"*\\shell\\SublimeText3",,,"用 SublimeText3 打开" hkcr,"*\\shell\\SublimeText3\\command",,,"""%1%\sublime_text.

【技巧】添加sublime-text到右键菜单,记录下来,免忘记

一.最简单的方法是重装sublime,速度也很快. 二. 1.打开注册表:win+r 调出“运行”,输入 regedit.exe 2.进入分支:HKEY_CLASSES_ROOT\*\shell\ 新建Open with Sublime Text 2 项,然后咋Open with Sublime Text 2里新建 command 项 3.在command里新建字符串值,数值数据填写d:\Program Files\Sublime Text 2\sublime_text.exe "%1"

利用注册表添加系统右键菜单

最近,不知道是用了什么软件,在清理的时候把右键菜单里面的一些快捷操作都给清理掉了.因为一直在使用git bash命令行工具,要到具体目录操作的时候如果没有右键快捷打开的话,就得一直cd,cd(摩擦,摩擦)...到具体目录下,很痛苦的,所以就去google了下,然后利用修改注册表添加了系统的右键菜单. 注:其实win7以上系统按住shift键在右键就可以在相应目录打开cmd工具 添加空白处的右键菜单(添加 git bash为例) 1.win+r运行regedit(注册表编辑器). 2.找到HKEY