Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выбор ячейки DataGridView по клику правой кнопки мыши  (Прочитано 10300 раз)
0 Пользователей и 1 Гость смотрят эту тему.
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« : 16-02-2009 09:22 » 

Добрый день.
Собственно, вопрос написан в названии темы. Имеем элемент DataGridView, у него есть заполненные ячейки. Требуется чтобы по клику правой кнопкой мыши, выбиралась ячейка и выпадало контекстное меню. В свойствах, в категории RowTemplate есть категория ContextMenuStrip в котором можно указать имя контекстного меню, которое будет появляться в случае нажатия правой кнопкой на ячейке, однако выбора самой ячейки не происходит  Здесь была моя ладья... Приходится жать левой кнопкой мыши на ячейке, а затем правой для неё чтобы выпало меню. как-то можно решить эту проблему?
Записан
FallenSoul
Опытный

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 16-02-2009 09:48 » new

Спасибо, разобрался.

Код:
        private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
        {
            ContextMenuStrip tContextMenu = (ContextMenuStrip)sender;
            Point tLocation = new Point(tContextMenu.Left, tContextMenu.Top);
            tLocation = dataGridView1.PointToClient(Cursor.Position);
            DataGridView.HitTestInfo tHitTestInfo = dataGridView1.HitTest(tLocation.X, tLocation.Y);
            if (tHitTestInfo.Type == DataGridViewHitTestType.Cell)
            {
                dataGridView1[tHitTestInfo.ColumnIndex, tHitTestInfo.RowIndex].Selected = true;
            }
            else
            {
                e.Cancel = true;
            }

        }
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines