Как сделать всплывающее меню с правой кнопкой мыши на строке GridControl? - PullRequest
3 голосов
/ 08 марта 2011

У меня есть GridControl с несколькими строками на моем интерфейсе DevExpress. Когда я щелкаю правой кнопкой мыши по некоторому ряду сетки, я хочу открыть меню такого же типа, как когда я щелкаю правой кнопкой мыши по своему рабочему столу (win 7), но только с 3 вариантами - Вырезать, Вставить и Копировать.

Как это сделать? Есть ли способ сказать в редакторе свойств GridControl "для каждой строки, если щелкнуть правой кнопкой мыши, затем всплывающее меню". Если да, хранится ли это меню в хранилище и какой тип это меню?

Ответы [ 2 ]

1 голос
/ 01 февраля 2016
  1. Добавление элемента управления DevXpress.ExtraBars.BarManager.
  2. Добавление элемента управления DevXpress.ExtraBars.PopupMenu.
  3. Создайте структуру меню внутри элемента управления PopupMenu.
  4. Добавьте этот код в событие PopupMenuShowing вашего GridView:

    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);
        }
    }
    

Вот и все!

1 голос
/ 08 марта 2011

Обрабатывать событие GridView ShowGridMenu , чтобы отобразить контекстное меню при нажатии gridRow. Мы также опубликовали пример, показывающий, как можно использовать это событие:

Как отобразить контекстное меню для строк сетки

...