DevExpress WinForms Grid: Hit Information (Информация о попадании мышью на контрол)

Источник: https://www.youtube.com/watch?v=fdA1r81ELNY&list=PL8h4jt35t1wixbBtVkQ9X_y8Uz_U7KBop&index=12

Включение всплытия подсказок над элеменом управления

private void toolTipController1_GetActiveObjectInfo(object sender, DevExpress.Utils.ToolTipControllerGetActiveObjectInfoEventArgs e)
        {
            if(e.SelectedControl != gridControl) return;
            GridHitInfo hitInfo = gridView.CalcHitInfo(e.ControlMousePosition);
            object o = hitInfo.HitTest.ToString();
            string t = hitInfo.HitTest.ToString();
            e.Info = new DevExpress.Utils.ToolTipControlInfo(o, t);
        }

Определение элемента упраления включение/отключение фильтрации

/// <summary>
        /// Метод позовляет определить в какой области таблицы была нажата ПРАВАЯ кнопка (e.Button & MouseButtons.Right) и включить фильтр по значению в ячейке строки, включить/выключить фильтрация по столбцу (если было попадание в заголовок столца) и сбросить все фильтры если мышь попала в левую часть автофильтра
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e">аргументы мыши (берем какая кнопка нажата и координаты мыши)</param>
        private void gridControl_MouseDown(object sender, MouseEventArgs e)
        {
            GridHitInfo hitInfo = gridView.CalcHitInfo(new Point(e.X, e.Y));
            // проверка нажата правая кнопка мыши и находится ли тестовая точка в строке таблицы
            if(((e.Button & MouseButtons.Right) != 0) && (hitInfo.InRow))
            {
                // свойство RowHandle проверяет был ли щелчок на строке автофильтра всех строк
                if (hitInfo.RowHandle == GridControl.AutoFilterRowHandle)
                    // если щелчок (контрольная точка) находится в индикаторе автоматической фильтрации строк
                    if (hitInfo.HitTest == GridHitTest.RowIndicator)
                        // то очищаются ВСЕ фильтры
                        gridView.ActiveFilter.Clear();
                    else
                        // иначе очищается только конкретный фильтр
                        hitInfo.Column.FilterInfo = new ColumnFilterInfo();
                // если щелчок был не в области индикатора строк, то он должен быть в одном из столбцов
                else
                {
                    // находим целевой столбец с помощью свойства столбца объект информации о попадании и очистим фильтр только для этого столбца
                    object value = gridView.GetRowCellValue(hitInfo.RowHandle, hitInfo.Column);
                    hitInfo.Column.FilterInfo = new ColumnFilterInfo(hitInfo.Column, value);
                }
            }
        }