Обработка ContextMenuStrip в ListView - PullRequest
0 голосов
/ 02 января 2011

У меня есть ListView с некоторыми элементами.В ListView определена некоторая группа, добавлен столбец и некоторые элементы.ListView также установил ContextMenu.

On Открытие события ContextMenu, я проверю, было ли открыто контекстное меню для элемента ListView.Итак, я сделал:

private void CtxMenuProcess_Opening(object sender, CancelEventArgs e)
{
    ContextMenuStrip ctxMenuStrip = (ContextMenuStrip)sender;
    ListViewHitTestInfo hitTestInfo = LstViewAdminApp.HitTest(LstViewAdminApp.PointToClient(Control.MousePosition));

    if (hitTestInfo.Item != null) {
        //....
    }
 }

К сожалению, попадание не происходит.

Я чувствую, что координаты ctxMenuStrip неправильные, но яперепробовал множество «вариантов» безуспешно, и документация ListView.HitTest очень плохая.

Кто-нибудь может мне помочь?


Дальнейшее расследование не приносит никакого решения.Я начинаю подозревать об инициализации элемента управления ListView.Вот не установленные по умолчанию свойства:

  • Активация = OneClick
  • Столбцы = Colum [3]
  • ContextMenuStrip = ContextMenu
  • Dock= Fill
  • FullRowSelect = true
  • GridLines = true
  • Groups = Group [3]
  • HideSelection = false
  • LabelWrap = false
  • Сортировка = По возрастанию
  • Просмотр = Подробности

1 Ответ

0 голосов
/ 02 января 2011

Когда я некоторое время назад работал над чем-то вроде этого, я нашел код в , этот пример очень полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...