Использование tooltip в DataGridViewComboBoxCell С#

Столкнулся с проблемой отображения всплывающих подсказок при открывании списка вверх при недостаточном месте на экране. Отрисовываю в событии DrawItem:

void cb_DrawItem(object sender, DrawItemEventArgs e)
 {
     if (e.Index != -1)
     {
        //...

         Font font = cb.Font;
         e.DrawBackground();
         using (SolidBrush br = new SolidBrush(e.ForeColor))
             e.Graphics.DrawString(cbText, font, br, e.Bounds);

         if ((e.State & DrawItemState.Selected) == DrawItemState.Selected &&
             (e.State & DrawItemState.Focus) != DrawItemState.Focus)
                 this.toolTip1.Show(toolTipText, cb, e.Bounds.Right, e.Bounds.Bottom);

         e.DrawFocusRectangle();
     }
 }

Всё отлично, пока список открывается вниз. Если список открыть вверх, то tooltip отображается на местах, как будто список открыт вниз. Соответственно надо решить две задачи - определить направление открытия и рассчитать смещение отображения. Для ComboBox можно использовать метод: взять высоту экрана и отнять высоту списка ComboBox. Но, DataGridViewComboBoxCell не имеет свойства DropDownHeight и как рассчитать высоту мне не понятно. если я представлю DataGridViewComboBoxCell as ComboBox, то DropDownHeight предостовляет недостоверные значения.


Ответы (0 шт):