Функция щелчка правой кнопкой мыши не работает в DataGridView - PullRequest
0 голосов
/ 23 февраля 2020

В DataGridView (C# WinForm app) Я запрограммировал, если выбрана строка и вы щелкаете правой кнопкой мыши на RowHeader, отображается ContextMenuStrip. Это означало, что ContextMenuStrip может отображаться только в том случае, если вы нажмете только на RowHeader:

private void myDataGridView_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
    if (e.Button == MouseButtons.Right && e.RowIndex > -1)
    {
        if (myDataGridView.Rows[e.RowIndex].Selected == true)
        {
            if (myDataGridView.Rows[e.RowIndex].HeaderCell.ColumnIndex == e.ColumnIndex)
            {
                DataGridView ctrl = (DataGridView)sender;
                ctrl.ContextMenuStrip = this.cmsBrisiPrekinitev;
                ctrl.ContextMenuStrip.Show(e.Location);
            }
        }
    }
}

Теперь, при выборе первой строки и щелчке правой кнопкой мыши на RowHeader все работает нормально, но после что ContextMenuStrip отображается независимо от того, где внутри DataGridView я делаю щелчок правой кнопкой мыши и не могу поймать какое-либо событие. Событие для щелчка левой кнопкой мыши вызывается правильно.

Как можно избежать этого ContextMenuStrip показа и что может быть причиной для этого?

...