Dev控件GridControl设置了一个右键菜单 this.gridControl1.ContextMenu = contextMenu2; 而GridControl在运行排序的时候,即

gridview1->OptionsCustomization->AllowSort设为true时,控件自带一个英文的右键菜单如下
这样当点击表列头时,就会出现下面的两个右键菜单重叠问题。
 
这样当点击表列头时,就会出现下面的两个右键菜单重叠问题。
解决办法:

  privatevoid gridView1_MouseUp(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.gridView1.CalcHitInfo(e.Location);
if (!hi.InRow && e.Button == MouseButtons.Right)
{
ContextMenu emptyMenu = newContextMenu();
this.gridControl1.ContextMenu = emptyMenu;
}
else
{
this.gridControl1.ContextMenu = contextMenu2;
} } 下面是解决问题时的两篇参考文献:
Dev控件屏蔽gridcontrol和buttonedit右键菜单 dev控件屏蔽gridcontrol和buttonedit右键菜单,有需要的朋友可以参考下。 DevExpress的很多控件都自带右键菜单,菜单风格又与控件本身差别很多,感觉极不协调,而且都是英文,这篇文章讲述如何屏蔽这些右键菜单。
.gridcontrol的右键菜单
gridcontrol的右键菜单有两种,第一种是在表格列头右键弹出的菜单,第二种是点击表格列头边上的黑色“钉子”按钮弹出的菜单,
屏蔽它们只需修改属性即可:gridview1->OptionsCustomization->AllowFilter和gridview1->OptionsCustomization->AllowSort改为false
.buttonEdit和pictureedit的右键菜单
buttonEdit以及pictureEdit的右键菜单无法通过直接设置属性屏蔽,想屏蔽它们需要两行代码:
ContextMenu emptyMenu = new ContextMenu();buttonedit.Properties.ContextMenu = emptyMenu;
即自己定义一个空的右键菜单,赋给buttonedit。 Dev GirdView 去掉系统菜单增加自定义菜单
Dev GirdView 去掉系统菜单增加自定义菜单
.获取gridview 事件如下:
private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e)
{
if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)//判断是否是列标题的右键菜单
{
GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
//menu.Items.RemoveAt(6);//移除右键菜单中的第7个功能,从0开始
menu.Items.Clear();//清除所有功能
string strDisp =自己需要增加的右键信息
DXMenuItem dxm = new DXMenuItem();
dxm.Caption = strDisp;
menu.Items.Add(dxm);
}
}
.红色标示第一行清除dev自带的右键系统菜单。
.红色标示第二行增加自己定义的菜单,可以读取lst 或者datatable 数据集进行赋值。
.声明DXMenuItem dxm = new DXMenuItem();
.赋值 dxm.Caption = strDisp;
.增加自定义数据集 menu.Items.Add(dxm); .触发右键菜单
private void gridView1_MouseUp(object sender, MouseEventArgs e)
{
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridHitInfo hi = this.gridView1.CalcHitInfo(e.Location);
if (e.Button == MouseButtons.Right)
{
this.popupMenu1.ShowPopup(Control.MousePosition);
}
}
 
 

最新文章

  1. 最小和(min)
  2. 四、优化及调试--网站优化--SEO在网页制作中的应用
  3. iOS开发多线程--技术方案
  4. 【网络流24题】 No.22~24
  5. Today See>
  6. 【Spring】文件上传
  7. 善于利用python中的os模块
  8. session和cookie的作用和原理
  9. WCF揭秘学习笔记(5):WF定制活动
  10. 《Spring1之第三次站立会议》
  11. C++编程 - tuple、any容器
  12. Django之Models的class Meta
  13. java中高级面试题整理及参考答案
  14. bzoj 2632 [neerc2011]Gcd guessing game——贪心(存疑)
  15. php单链表实现
  16. 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法
  17. krpano之字幕添加
  18. NET持续集成与自动化部署
  19. Machine Learning的Python环境设置
  20. Android 音频播放分析笔记

热门文章

  1. 跳跃表 https://61mon.com/index.php/archives/222/
  2. python 多线程实现
  3. httpClient需要的jar包
  4. Wand FZU - 2282 全错位重排
  5. CCPC-Winter Camp div2 day5
  6. YAML schema reference
  7. nodejs+react构建仿知乎的小Demo
  8. ZooKeeper入门(四)
  9. springboot线程池@Async的使用和扩展
  10. Lodash js数据操作库