Я новичок в 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;
}
Моя проблема в том, что при первом запуске приложения оно работает как шарм ... При перемещении моей мыши подсказка следует за ней и адаптируется к элементу поиска. Хорошо.
Но после небольшой игры с ним (несколько секунд) или выхода из списка с помощью курсора мыши, и при повторном вводе списка, у меня больше нет подсказок ... Я играю несколько секунд, а затем Я снова его получаю, но всплывающая подсказка больше не следует за курсором ... Мое первое предположение заключается в том, что это поведение "отображения", но мне не удается найти способ его исправить ...
У вас, ребята, есть идеи?
Заранее спасибо!