2011-03-08 99 views
3

我在我的DevExpress界面上有一些GridControl控件。当我右击网格的某一行时,我想弹出相同类型的菜单,例如当我右击我的桌面(赢得7)时,但只有3个选项 - 剪切,粘贴和复制。如何在GridControl行上右键单击弹出菜单?

如何做到这一点?有没有办法在GridControl的属性编辑器中说:“如果右键单击,然后弹出菜单,则对于每一行。如果是这样,这个菜单是否存储在一个仓库中,这个菜单是什么类型?

回答

1

处理GridView的ShowGridMenu事件以在单击gridRow时显示上下文菜单。我们还发表文章,这个事件如何被使用的例子:

How to show a context menu for grid rows

+0

方法ShowGridMenu被标记为“Obsolete”。他们说:“你应该使用'[PopupMenuShowing]'(http://documentation.devexpress.com/#windowsforms/DevExpressXtraSchedulerSchedulerControl_PopupMenuShowingtopic)'”。 – Chrigl 2013-11-27 15:03:44

1
  1. 添加DevXpress.ExtraBars.BarManager控制。
  2. 添加一个DevXpress.ExtraBars.PopupMenu控件。
  3. 在PopupMenu控件中创建您的菜单结构。
  4. 这段代码添加到你的GridView的 'PopupMenuShowing' 事件:

    private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) 
    { 
        if (e.HitInfo.InRow) 
        { 
         System.Drawing.Point p2 = Control.MousePosition; 
         this.popupMenu1.ShowPopup(p2); 
        } 
    } 
    

这就是它!

相关问题