2013-05-11 4 views
0

Существуют ContextMenuStrıp и Devexpress GridControl. Когда я нажимаю правой кнопкой мыши на заголовок сетки, они появляются в контекстном меню и в меню Devexpress.Конфигурация контекстного меню Devexpress

Только я хочу показывать меню Devexpress (не contextmenu), когда я нажимаю правой кнопкой мыши на заголовок сетки.

ответ

0

Во-первых, я хочу сказать спасибо. Я решил проблему с приведенными ниже кодами.

private void gridView1_MouseUp(object sender, MouseEventArgs e) 
    { 
     GridView view = (GridView)sender; 
     GridHitInfo hitInfo = view.CalcHitInfo(e.Location); 

     if (!hitInfo.InRowCell) 
      contextMenuStrip1.Visible = false; 
     else 
      contextMenuStrip1.Visible = true; 
    } 
+0

Glade вы решили проблему (тот же подход я предложил не мой ответ ^^), но у меня есть один вопрос, почему, почему показано контекстное меню на первом месте, а затем сделать его невидимым? Я думаю, вы не должны показывать его вообще, если щелчок был вне рядов сетки. – SidAhmed

0

При обращении мышь вверх событие, вам нужно проверить, если щелчок был в строке или ячейке, например, так:

GridHitInfo hitInfo = view.CalcHitInfo(e.Location); 

// Verify that the click was in a cell of a row, if not, don't do anything 
if (!hitInfo.InRowCell) 
    return; 
Смежные вопросы