Проблема при отображении ContextMenuStrip в элементе управления XtraGridview - PullRequest
1 голос
/ 06 мая 2011

У меня есть один ContextMenustrip & DevExpress XtraGridView.И я показал ContextMenustrip пользователю, когда пользователь щелкает правой кнопкой мыши на XtraGridView, для этого я использовал событие XtraGridView's MouseDown().Проблема этого приложения состоит в том, что когда мое сеточное представление содержит минимальное количество строк, оно показывает некоторое пустое пространство в конце Gridview.И я не хочу показывать ContextMenustrip в этом пустом пространстве XtraGridView, когда пользователь щелкает правой кнопкой мыши на сетке.Я просто хочу показать ContextMenustrip только в выбранной позиции строки.Можно ли избежать этой проблемы?

спасибо ..

1 Ответ

2 голосов
/ 06 мая 2011

Я бы предложил использовать немного другой подход. Обработайте событие GridView PopupMenuShowing , как показано ниже, чтобы убедиться, что ваше меню открыто только тогда, когда это необходимо.

private void gridView1_PopupMenuShowing(object sender, DevExpress.XtraGrid.Views.Grid.PopupMenuShowingEventArgs e) {
            if(e.HitInfo.HitTest ==  GridHitTest.RowCell)    {
                e.Allow == false;
                // your code to show menu
            }
        }
...