C# добавление контекстного меню в сетку данных

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

Моя попытка:

this.MouseDown += HandleMouseDown;

private void HandleMouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                var hti = HitTest(e.X, e.Y);
                if (hti.RowIndex >= 0)
                {
                    CurrentCell = this[hti.ColumnIndex, hti.RowIndex];
                    ContextMenuStrip menu = new ContextMenuStrip();
                    menu.Left = e.X;
                    menu.Top = e.Y;
                    menu.Items.Add("Aggiungi Pausa", null, HandleInsertPause);
                    menu.Items.Add("Rimuovi Pausa", null, HandleRemovePause);

                    menu.Show();
                }
            }
        }

0 ответов

Другие вопросы по тегам