Странное поведение всплывающей подсказки в списке - PullRequest
1 голос
/ 18 октября 2010

Я новичок в C #, и я хотел включить всплывающие подсказки в списке. Мое желание состояло в том, чтобы иметь возможность отображать разные всплывающие подсказки в зависимости от элемента, на который наведен курсор, в списке (стандартное поведение списка состоит в том, чтобы отображать одну подсказку для себя независимо от того, какой элемент наведен) ...

Мне удалось написать следующий код:

private void MyInheritedListBox_MouseMove(object _sender, MouseEventArgs _event)
{
  int itemIndex = -1;
  itemIndex = this.IndexFromPoint(new Point(_event.X, _event.Y));

  Console.WriteLine(_event.X.ToString() + " - " + _event.Y.ToString());

  if (itemIndex >= 0 && itemIndex != currentHoveredIndex)
  {
    string l_sMyItemString = (string)this.Items[itemIndex];
    MyToolTip.Show(l_sMyItemString, this);

    currentHoveredIndex = itemIndex;
  }

  if (currentHoveredIndex == -1)
  {
    MyToolTip.Hide(this);
  }
}

private void MyInheritedListBox_MouseLeave(object sender, EventArgs e)
{
  currentHoveredIndex = -1;
}

Моя проблема в том, что при первом запуске приложения оно работает как шарм ... При перемещении моей мыши подсказка следует за ней и адаптируется к элементу поиска. Хорошо.

Но после небольшой игры с ним (несколько секунд) или выхода из списка с помощью курсора мыши, и при повторном вводе списка, у меня больше нет подсказок ... Я играю несколько секунд, а затем Я снова его получаю, но всплывающая подсказка больше не следует за курсором ... Мое первое предположение заключается в том, что это поведение "отображения", но мне не удается найти способ его исправить ...

У вас, ребята, есть идеи?

Заранее спасибо!

1 Ответ

0 голосов
/ 18 октября 2010

Вместо

MyToolTip.Show(l_sMyItemString, this); 

Попробуйте

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