Member 12977712 Ответов: 1

Блокировка полосы прокрутки datagridview при использовании contextmenustirp в C#


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

Что я уже пробовал:

Это код, который у меня есть на данный момент:

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
    ContextMenuStrip menu = new ContextMenuStrip();
    if (e.Button == MouseButtons.Right)
    {

        var hti = dataGridView1.HitTest(e.X, e.Y);
        int position = dataGridView1.HitTest(e.X, e.Y).RowIndex;
        dataGridView1.ClearSelection();
        dataGridView1.Rows[hti.RowIndex].Selected = true;

        if (position >= 0)
        {
            menu.Items.Add("Open Explorer").Name = "Open Explorer";
            menu.Items.Add("Pc Info").Name = "Pc Info";
        }

        menu.Show(dataGridView1, new Point(e.X, e.Y));

        menu.ItemClicked += new ToolStripItemClickedEventHandler(menu_ItemClicked);

        dataGridView1.ContextMenuStrip = menu;
    }
}


Я пытался использовать
dataGridView1.ScrollBars = ScrollBars.None;
- но это не работает. Ты хоть представляешь, как я могу это сделать?

1 Ответов

Рейтинг:
2

RickZeeland

Может быть, это сработает:

dataGridView1.Enabled = false;